第164天:js方法调用的四种模式

js方法调用的四种模式

1、方法调用模式

 1 function Persion() {
 2     var name1 = "itcast",
 3     age1 = 19,
 4     show1 = function() {
 5         console.log(this.name);
 6     };
 7 
 8     return {
 9         age : age1,
10         name : name1,
11         show : show1
12     };
13 }
14 
15 var p = new Persion();
16 p.show();  //在show方法中的this指向了p对象。

2、 函数调用模式

1 function add( a, b) {
2     this.result = a + b;
3 }
4 
5 add( 3, 9 ); //此方法执行的时候,this指向了window
6 
7 console.log(result);   

3、构造器调用模式

 1 function Persion(){
 2     this.name = "123";
 3     this.age = 19;
 4     this.show = function(){
 5         console.log(this.name);
 6     };
 7 }
 8 
 9 var p = new Persion();
10 p.show();//  在show方法中方法this,指向了p对象实例。

4、call 和 apply调用模式

1 function add(a,b){
2     this.result = a + b;s           
3 }
4 
5 var p  = {};        //定义一个空对象。
6 add.call(p,3,4);    //在这个方法调用的时候,this指向了p
7 console.log(p.result);
8 
9 //apply和call是一样的用法,只不过apply第二个参数用数组进行传递。

变量提升:函数执行之前,会先将函数中所有的变量,挪到最前面去声明。

函数名提升: script中脚本,在执行之前,会先把脚本中的所有的函数先进行编译解析,然后执行普通的js代码。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户画像

String s=new String("abc")创建了几个对象?

String str=new String("abc");   紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?

1031
来自专栏蓝天

shell数组

$ A=(a b c def) ================================================== $ echo ${A[@...

1124
来自专栏LEo的网络日志

python技巧分享(十二)

1397
来自专栏老司机的技术博客

人人都能学会的python编程教程5:循环-2

比如我们要从一个列表中找到某个特定元素,那么只要找到了这次循环就可以停止了,没有必要非得走到最后。

4238
来自专栏鸿的学习笔记

随便写写python的特殊方法

还有__bool__,__abs__,__eq__,__str__进行重载,记得要注意在文档中说明

691
来自专栏Astropeak

Python 描述符是什么?以及如何实现

1513
来自专栏Bug生活2048

Python自学之路-内置函数说明及实例(三)

filter函数用于过滤序列。过滤的方式则是采用传入的函数,去循环序列的元素调用,如果函数计算的结果为True则保留元素,否则将舍弃该元素。

1233
来自专栏企鹅号快讯

宝宝都能学会的python编程教程5:循环-2

“死循环”是必须要避免的,当然“活循环”也未必都要执行完。 break 语句 比如我们要从一个列表中找到某个特定元素,那么只要找到了这次循环就可以停止了,没有必...

2057
来自专栏老司机的技术博客

宝宝都能学会的python编程教程5:循环-2

“死循环”是必须要避免的,当然“活循环”也未必都要执行完。 break 语句 比如我们要从一个列表中找到某个特定元素,那么只要找到了这次循环就可以停止了,没有必...

3695
来自专栏企鹅号快讯

Python数据结构

所属系列:【Python工程师系列】 所属主题:【Python零基础】 1 ? 编码格式建议 不用Tab缩进,用4倍空格缩进 必要时换行(避免单行超出79个字符...

2100

扫码关注云+社区

领取腾讯云代金券