关于Javascript定义函数和this使用的两点注意的地方

GUNNAR促销中7

GUNNAR促销中7

2016-02-19 19:38

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享关于Javascript定义函数和this使用的两点注意的地方的教程,热爱PS的朋友们快点看过来吧!

总结:

一、函数定义:

1.在实例和类上都可以直接定义函数

2.不能在实例上使用prototype定义函数,只能在类上使用prototype定义函数

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

3.类上直接定义的函数不能使用this访问对象的属性

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

4.在类的prototype上建立的函数可以用this,在类内部定义的函数可以使用this,在对象实例上建立的函数额可以this

window.alert=function (msg)
{
    document.write(msg+"br");
}

function say()
{
    this.f="props";
    this.func3=function(){alert("f3,"+this.f);}
}

say.func1=function(){alert("func1,"+this.f);}; //Error,类上直接定义的函数,不能使用this
say.prototype.func2=function(){alert("func2,"+this.f);}
say.func1();
(new say()).func2();
say.func2(); //Error, 在用prototype定义的函数,必须实例化对象才能调用
say.func3(); //Error,在类上定义的函数,必须实例化才能调用
(new say()).func3();

var obj={
    fld1:10,
    func1:function(msg){alert(msg);},
    func4:function(){alert(this.fld1);}
}
obj.prototype.func=function(){alert("func");}; //Error 实例对象上不能使用prototype定义对象
obj.func2=function(){alert("func2,"+this.fld1);}; //ok,实例上直接定义的函数可以使用this,访问对象的属性

alert(obj.fld1);

obj.func1("func1");
obj.func2();

obj.func4();

展开更多 50%)
分享

猜你喜欢

关于Javascript定义函数和this使用的两点注意的地方

Web开发
关于Javascript定义函数和this使用的两点注意的地方

专家讲解:关于顺产的三两点事儿

怀孕
专家讲解:关于顺产的三两点事儿

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

PowerPoint中使用Flash的两点技巧

flash教程
PowerPoint中使用Flash的两点技巧

怎么挑选合适的护手霜 两点要注意

挑选护手霜 挑选合适的护手霜 怎么挑选合适的护手霜
怎么挑选合适的护手霜 两点要注意

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

秋天怎么选面膜 两点要注意

选面膜 秋天选面膜 秋天怎么选面膜
秋天怎么选面膜 两点要注意

关于php正则表达式的两点备注

Web开发
关于php正则表达式的两点备注

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用手机平板遥控PPT演讲

用手机平板遥控PPT演讲

SQL Server的Inner Join及Outer Join

SQL Server的Inner Join及Outer Join
下拉加载更多内容 ↓