函数对象,javascript--函数式与面向对象(5)

<html>
<head>
<script type="text/javascript">
//instanceof / a instanceof 类型名称 // a是否是 某类型
var arr=[];
alert(arr instanceof Array); //true
var obj={};
alert(obj instanceof Object); //true
function fn2(){};
alert(fn2 instanceof Function); //true
var str="string";
alert(str instanceof String);//false 基本类型不能使用instanceof
var bool=true;
alert(bool instanceof Boolean); //false 基本类型不能使用instanceof
var aa=123;
alert(aa instanceof Number);//false 基本类型不能使用instanceof
///typeof
function fn(){}
alert(typeof fn) //function
var arr=[];
alert( typeof arr); //Object
var obj={};
alert( typeof obj ); //Object
var str="string";
alert(typeof str );//String
var bool=true;
alert(typeof bool ); //Boolean
var aa=123;
alert(typeof aa );//Number
//封装 --封装并不要求私有
function fun(name,age){
this.name=name;
this.age=age;
}
var f=new fun("yjh",22);
alert(f.name);
//利用闭包实现私有
function fun2(name,age){
this.getName=function(){
return name;
}
this.getAge=function(){
return age;
}
this.setName=function(n){
name=n;
}
this.setAge=function(a){
age=a;
}
}
var f2=new fun2("ttt",222);
f2.name="jjj"; ///赋值不成功,只能通过setName
alert(f2.getName());
</script>
</head>
<body>
<apan><strong>面向对象术语</strong></br>
一种面向对象语言需要向开发者提供四种基本能力:</br>
*封装-- 把相关的信息(无论数据或方法)存储在对象中的能力。</br>
*聚集--把一个对象存储在另一个对象中的能力。</br>
*继承--把另一个类(或多个类)得来类的属性和方法的能力。</br>
*多态--编写能以多种方法运行的函数或方法的能力。主要是arguments的应用</br>
</span>
</body>
</html>
Tags:  面向对象 函数对象

延伸阅读

最新评论

发表评论