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

2016-02-19 19:38 5 1 收藏

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

【 tulaoshi.com - Web开发 】

总结:

一、函数定义:

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

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

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

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,访问对象的属性

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

alert(obj.fld1);

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

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

obj.func4();

来源:http://www.tulaoshi.com/n/20160219/1621469.html

延伸阅读
标签: 育儿知识
豆浆是很有营养,很多家长习惯在早餐给孩子一杯豆浆,现在大部分的家庭都是自己买回来豆子自己用豆浆机加工而成的豆浆,但是对于煮豆浆的方法却还是有待考究,另外小编提醒幼儿喝豆浆有两点注意事项需要切记。 1、忌不彻底煮开: 很多家长喜欢买生豆浆(图老师整理)回家自己加热,加热时看到泡沫上涌就误以为已经煮沸,其实这是豆浆的有...
标签: Web开发
看个例子: 1  代码如下: function a(){      alert("我是脚本之家");  }  2   代码如下: var a = function(){      alert("我是脚本之家");  }         1和2的方法是等价的...
标签: Web开发
秦歌(YanKaven) 的站点:http://dancewithnet.com/ 一、什么是匿名函数? 在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量(Function Literals): var fnMethodName = function(x){alert(x);} Function()构造函数: var fnMethodName = new Function('x',...
睫毛膏怎么选 睫毛膏的成分 睫毛膏的成分大同小异,基本都是由蜡、成膜剂、纤维、少数保湿成分和着色剂组成的。 各种不同的功效的睫毛膏不过是把这些成分按照不同的比例组成而已啦~比如,纤长型的睫毛膏纤维含量较多,而防水型的睫毛膏胶质含量较多。 刷头 决定一款睫毛膏是否能打造出大家心目中想要的效果,刷头是非常关键的,这也...
JavaScript 有很多内置函数,有效的使用,可以避免很多不必要的代码。 比如,从一个数组中找出最大值,传统的方法是: var numbers = [3,342,23,22,124]; var max = 0; for(var i = 0;1 < numbers.length;i++){ if(numbers[i] max){ max = numbers[i] } }alert(max); 使用内置函数可以更容易实现...

经验教程

766

收藏

44
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部