原生js 实现bing() 方法

//  创建一个对象

var dx={name:'zs',age:17}

// var个变量 用于测试 不是对象的情况

var x=10

// 写个方法

function a(a,b){

console.log('My name is '+this.name+' age is '+this.age)

}

//  创建一个全局方法

Function.prototype.fn = function(dx) {

// 判断dx是否是一个对象  如果不是  结束执行
                if (dx.constructor != Object) {
                    return
                }
                var a = this

//获取 参数 数组
                var argu = Array.from(arguments)
                var arr = argu.slice(1)
                return function() {
                    z = Array.from(arguments)
                    var sz = arr.concat(z)
                    a = a.apply(dx, sz)
                }
            }

//a.fn(dx, 1)(2)

效果图

//如果传入的不是一个对象

try{

a.fn(xx, 1)(2)

}catch(err){

//手动写一个错误信息

console.error('xx is not a object')

}

//效果图


版权声明:本文为woshigaoshouhh原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。