js语言精粹总结

语句

下列值被当作假

  • false,null,undefined,空字符串,0,NAN
  • 其他所有的值都会被当做真,包括true,字符串'false',和所有对象

函数

函数调用

  • 每个函数都有this和arguments

  • this取决于调用模式。js中有四种调用模式,分别是方法调用模式,函数调用模式,构造器调用模式,apply调用模式。

  • 方法调用模式

    • 当一个函数被保存为对象的属性时,称这个函数为方法。
      • 当一个方法被调用的时候,this指向该对象。
          <!-- 创建myObject对象,有一个value属性和一个increment方法
          increment方法接受一个可选的参数,如果参数不是个数组,默认是1 -->
          var myObject = {
              value:0,
              increment:function(inc){
                  this.value += typeof inc == 'number'?inc:1
              }
          }
          myObject.increment();
          console.log(myObject.value) //1
          myObject.increment(2)
          console.log(myObject.value) //3
      复制代码
  • 函数调用模式

    • 当一个函数并非一个对象的属性时,就被当作函数调用。
      • 函数调用模式的时候。this被绑定到全局对象。
      • 如果想要绑定到当前对象,解决方法:let that = this;
  • 构造器调用模式

    • 如果一个函数前面带上new 调用,那么将会创建一个链接到该函数到prototype成员的新对象,同时this会绑定到这个新对象上面。
        var Quo = function(string){
            this.status = string
        }
        Quo.prototype.get_status= function(){
            return this.status;
        }
        var myQuo = new Quo('haha')
        console.log(myQuo.get_status()) //haha
    复制代码
  • Apply调用模式

    • apply方法让我们构建一个参数数组传递给调用函数。
    • apply方法接受两个参数。一个是要绑定给this的值,第2个是参数数组

参数:arguments

  • 函数的参数arguments是一个类数组,拥有length属性。

返回 return

  • 一个函数总有返回值,如果没有,就是undefined。
  • 如果函数调用时在前面加了new,并且返回值不是一个对象,则返回this(绑定的新对象)

扩充类型的功能

  • 使用Object.prototype添加方法
    • 举例:通过给Function.prototype增加方法来使得该方法对所有函数可用。
        Function.prototype.method = function(name,func){
            this.prototype[name] = func;
            return this;
        }
    复制代码

数组

  • splice(n,m):n是开始删除的序号,m是要删除的个数
  • concat():产生一个新数组,连接数组。
  • slice(start,end):截取字符串,【start,end)

转载于:https://juejin.im/post/5c84d6fd5188257dec6afae4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值