Javascript小结

JS第四章

1、动态的属性

var person=newobject();

person.name=“Nicholas”;

alert(person.name);// “Nicholas”

只能给引用类型值动态的添加属性。

2、复制变量值

var num1=5;

var num2=num2;

两个变量可以参与任何操作而不会相互影响。

Var obj1=new object();

var obj2=obj1;

obj1.name= “Nihao”;

alert(obj2.name);// “Nihao”

复制操作结束后,两个变量实际上将引用同一个对象,因此改变其重要一个变量,就会影响一个变量。(保存到堆内存中,是一个object)

3、传递参数(按值传递)在向参数传递引用类型的值时,会把这个值的地址在内存中的地址复制给一个局部变量,这个局部变量的变化会反映在函数外部。

Functionsetname(obj){

obj.name= “nihao”;

obj=new object();

obj.name=“nibuhao”;

}

var person=newobject();

setname(person);

alert(person.name)// “nihao”

4、检测类型

(1)typeof操作符

eg. alert(typeof s)

(2)instanceof 操作符

result=variableinstanceof constructor

5、执行环境及作用域

作用域链:保证对执行环境有权访问的所有变量和函数的有序访问。作用域前端,始终是当前执行的代码所在环境的变量对象。作用域链中的下一个变量对象来自包含(外部)环境,而再下一个变量对象来自下一个包含环境。本层作用域只能访问本层变量和上层作用域,不能访问下一层的。

6、延长作用域链

function buildurl(){

var qs= “?debug=true”;

with(location){

var url=href +qs;

}

return url;

}

with() 加长作用域链,加在buildurl()函数前面。

7、没有块级作用域

if  for内声明或定义的变量会添加到全局变量内。

for(var i=0;i<10; i++){

dosomething(i);

}

alert(i) //10

8、声明变量

使用var 声明变量将会自动添加到最近的环境内。

Eg:

functionadd(num1,num2){

var num=num1+num2;

return num;

}

varresult=add(10,20);

alert(result) //30

alert(sum)  //由于不是有效变量,访问不到。

Eg:

functionadd(num1,num2){

sum=num1+num2;

return sum;

}

varresult=add(10,20);

alert(sum); //30

下面的例子没有声明关键词var ,调用完函数后直接添加到全局变量。

9、管理内存

解除引用:一旦数据不再使用,最好通过将其值设置为null来释放其引用。

Functioncreateperson(name){

var localperson=newobject();

localperson.name=name;

return localperson;

}

varglobalperson=createperson( “nihao”);

globalperson=null;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值