this-new-构造函数

new带参和new无参都会调用函数

 function fn(){

            this.name = 'karen'

            return function fm(){

                console.log('fm运行了');

                this.name = 'jack'

            }

        }

        var f1 = new fn()

        console.log(f1.name); //打印fm() 因为fn()函数有返回值 所以f1就是函数fm() 

var f2 = new (new fn())()

        console.log(name); //打印 空字符串 是原型链上自带的

        console.log(f2.name); //打印Jack

        console.log(x);//报错 去原型上找没找到报错

        console.log(window.x);//undefined 去原型链上找

        

 function fn(){

            this.name = 'marry'

            var obj = {

                name:'karen',

                fm:function(){

                    this.name = 'jack'

                }

            }

            return obj

        }        

        var f1 = new fn()

        console.log(f1.name); //打印karen

        var f2 = new ((new fn()).fm)()

        console.log(f2.name);//打印 jack

        var f3 = new fn()

        var f4 = new(f3.fm)()

        console.log(f3.name,f4.name); //打印karen   jack

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值