自己整理一些散的知识点

函数的定义方法

 //函数声明的定义
  function sum(x,y){
    return x+y
  }
  console.log(sum(1,2));

  //函数表达式的形式
  let jian = function(x,y){
    return x-y
  }
  console.log(jian(5,2));

  //构造函数的形式
  const sum1 = new Function('x' , 'y' , 'return x + y' )
  console.log(sum1(1,2));

this指向问题

var objList = {
   name: 'methods',
   getSum: function() {
     console.log(this) 
   }
}
objList.getSum()//指向objlist,谁调用指向谁
function foo() {
   console.log(this);
}
foo.apply(undefined);//指向winodw,如果是null,也是一样
foo.call(objList);//指向objlist

call apply bind方法

let obj={
    name:"潘晨阳",
    age:18,
    getsum(a,b){
        console.log(`我叫${this.name},今年${this.age}岁啦!!!,来自${a},去${b}`);
    }
}
obj.getsum("南京","安徽")//我叫潘晨阳,今年18岁啦!!!,来自南京,去安徽

let obj1={
    name:"宋星月",
    age:20
}
obj.getsum.call(obj1,"安徽","南京")//我叫宋星月,今年20岁啦!!!,来自安徽,去南京
obj.getsum.apply(obj1,["安徽","南京"])//我叫宋星月,今年20岁啦!!!,来自安徽,去南京
obj.getsum.bind(obj1,"安徽",'南京')()//我叫宋星月,今年20岁啦!!!,来自安徽,去南京
obj.getsum.bind(obj1,["安徽","南京"])()//我叫宋星月,今年20岁啦!!!,来自安徽,南京,去undefined

这里要注意的是:call是传递的是一个参数列表,apply传递的是一个数组,bind不会立即执行,而是返回一个函数,需要手动调用

二进制 十进制 转换

let num = 65
let str = num.toString(2) //10进制转二进制
console.log(parseInt(str,2));//二进制转10进制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值