爱玺玺

爱玺玺的生活日记本。wx:lb87626

js对象的成员变量和局部变量,加this的都是公开的成员变量

function Animal(){

//用this的都是公用的成员变量或成员方法

this.name="猫";

this.weight=110;

this.run=function(){

console.log("每天跑步");

}

//局部变量或方法,对象不能直接调用

var height=200;

var fight=function(){

console.log("我要把你打倒");

}

}


js使用闭包获取li里面的节点信息,感觉这里闭包不是非用不可,用闭包反而变复杂了。

window.onload=function(){

var oLi=document.getElementsByTagName("li");

for (var i = 0; i < oLi.length; i++) {

oLi[i].onclick=(function(n){//这里是形参

return function(){

                         alert(oLi[n].firstChild.nodeValue);

};

})(i);//这里是实参

}

}


js匿名函数的实参和形参

oLi[i].onclick=(function(n){//这里是形参

return function(){

                         alert(oLi[n].firstChild.nodeValue);

js不用闭包也能获取节点里面的内容 闭包到底什么时候费用不可?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8&quo

js获取节点信息的内容

var oLi=document.getElementsByTagName("li");

for (var i = 0; i < oLi.length; i++) {

alert(oLi[i].firstChild.nodeValue);

}


js函数对象即使内部有return 这个函数任然是对象。

function Animal(){

this.name="小狗"

return "返回字符串后还是对象"

var age=10;//这句不会被执行,因为返回了。

}

var dog=new Animal();

console.log(dog.name);


js创建构造函数对象,函数就是对象。

//创建构造函数对象

var f=new Function("name","console.log(name)");//F必须大写

f("小李");


js使用apply()把函数作为自己的成员

和call的区别是apply把参数装在了数组。call是字符串形式作参数。

function run(addr){

console.log(addr+"的"+this.name+"在跑步");

}

var cat={name:"猫",addr:"四川",climb:function(){console.log(this.name+"会爬树")}}

var tiger={name:"老虎",addr:"东北"};

run.apply(tiger,["四川"]);

tiger.run;


js对象把自己的成员给另外一个对象使用

function run(addr){

console.log(addr+"的"+this.name+"在跑步");

}

var cat={name:"猫",addr:"四川",climb:function(){console.log(this.name+"会爬树")}}

var tiger={name:"老虎",addr:"东北"};

//cat对象调用自己的方法时候指向tiger,相当于把cat的成员给了tiger

cat.climb.call(tiger);


js通过call调用其它函数并传递参数

注意:通过 方法名.call(对象名) 对象.方法名 

方法名后面不需要加括号

Powered By Z-BlogPHP 1.4 Deeplue Build 150101

Copyright Your WebSite.Some Rights Reserved.

蜀ICP备11021721号-5