JavaScript之 prototype、apply 的运用
博客专区 > GZhiDao 的博客 > 博客详情
JavaScript之 prototype、apply 的运用
GZhiDao 发表于1年前
JavaScript之 prototype、apply 的运用
  • 发表于 1年前
  • 阅读 16
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: JavaScript之 prototype、apply 的运用
//输入字符串返回字符串
    function spacify(str){
        return str.split('').join('');
    }
    console.log(spacify('hello world'));
    // 'hello world'.spacify();
    //函数直接作用在一个字符串对象上(原型连)
    String.prototype.spacify2 = function(){
        return this.split('').join('');
    }
    console.log('hello boy'.spacify2())
    //函数声明和函数表达式的区别---待续

    //控制台输出方式
    function log(msg){
        console.log(msg);
    }
    log('hello boy2'.spacify2())
    //apply的运用  arguments是伪数组
    function log2(){
        console.log.apply(console,arguments);
    }
    //输出的字符串统一加上(app)这样的字符串类似于:'(app) hello world'
    function log3(){
        var args = Array.prototype.slice.call(arguments);
        args.unshift('(app)');
        console.log.apply(console,args);
    }
    log3('hello3')
    //this的理解
    var User = {
        conunt:1,
        getConunt:function(){
            return this.conunt;
        }
    }
    console.log(User.getConunt());//1
    var func = User.getConunt;
    console.log(func());//undefind 因为func的上下文是'window'
    //正确的是使用bind
    var func2 = User.getConunt.bind(User);
    console.log(func2())
    //兼容低浏览器
    Function.prototype.bind = Function.prototype.bind || function(context){
        var self =this;
        return function(){
            return.self.apply(context,arguments);
        }
    }
    

 

共有 人打赏支持
粉丝 7
博文 115
码字总数 89796
×
GZhiDao
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: