JavaScript的OO编程--1.js的特性

JavaScript的OO编程--1.js的特性
至于javascript历史,dom模型...什么的这里就不介绍了,有兴趣的朋友可以上网搜一搜,这里主要通过示例来讲解javascript的OO方式的使用。
这里给出的是最简单也是比较实用的例子

function add(aa)
{
//判断传入参数的个数
if(1 == arguments.length)
{
alert(arguments[0] + 1);
}
else if(2 == arguments.length)
{
alert(arguments[0] + arguments[1] + 1);
}
}
add(1); //2
add(1,2); //仍然可以 4
//返回定义时的参数个数
alert(add.length); //1

对于方法的参数传递可以通过参数直接取得,也可在方法内部可以通过arguments[i](i是从0开始的)取得。
js中函数都隐含一个对象叫arguments,该arguments是一个数组,通过arguments可以获得到实际传递参数的个数及实际传递参数的值
每个函数的名字都有一个属性叫length,“属性名.length ”获得该函数能接受参数的个数。


var obj = "hello";
alert(typeof obj);

显示对象s的类型


function test()
{
//alert("aa");
alert("bb");
return;
}
alert(test());//undefined
alert(test);

显示出test方法的代码,对于函数来说,如果其不返回值,那么其返回值就为undefined


alert(undefined == null);

返回为true,null与undefined的关系,undefined实际上从null派生而来


function test()
{
obj = "hello";
var obj2 = "hello";
}

test();

alert(obj);
alert(obj2);

如果在方法体内不用var定义变量,则变量的作用域是全局的,不会被释放,强烈建议要用var在方法体内定义。


var str = String("aaa");
alert(typeof str);//string

var obj = new String("aaa");
alert(typeof obj);//object

var obj = new Number(100);
alert(typeof obj);//object

采用new方法声明将产生类型是object


var o = new Object();
alert(o.propertyIsEnumerable("prototype"));//false

propertyIsEnumerable("prototype")用来判断该属性是否可以枚举,有此可知prototype是不能枚举的
prototype是对该对象的原型引用,非常重要后面会详细讲解


for(var temp in window)
{
alert(temp);
}

迭代出window对象的全部属性和方法,当然prototype等是不能被迭代的。


//定义对象
var obj = new Object();
//定义属性并赋值
obj.name = "llying";
alert(obj.name);
//删除属性
delete o.name;
//因为删除了,所以显示没有定义
alert(obj.name);

上面就是我们自己定义的第一个对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值