你应该这样整理js中的零乱知识

1. splice

splice的意思是 粘接。
它是数组的函数。
它的作用是操作数组(增删改)
参数是(index,howmany,item1,item2,...);返回值是被删除的项目。

index: 必须,整数,操作的位置
howmany: 必须,整数,要删除的项目数量,如果为0则不会删除
item1...: 非必须,向数组添加的项目。

注意: splice会操作当前array.

var arr = ['a','b','c']
// 增
var result = arr.splice(1,0,'d'); // arr: a,d,b,c; result: []
// 删
var result = arr.splice(1,1);// arr: a,b,c; result: ['d']
// 改
var result = arr.splice(1,1,'e');// arr: a,e,c; result: ['b']

2. slice

slice的意思是切片。
它是数组的函数。
它的作用是操作数组(查)
参数是(start, end);返回值是一个新数组。

var arr = ['a','b','c'];
var result = slice(1,2);// result:['b']

3. call

call的意思是调用。
它是函数的函数。
它的作用是动态改变this。
参数是(this,arg1,arg2...)。没有返回值。

this: 用作this的对象。
arg...: 给函数的参数

例子

function cat() {
  this.food = 'fish';
  this.say = function () {
    console.log('my food is '+this.food);
  }
}

var c = new cat;
c.say();

function dog() {
  this.food = 'bone';
}

c.say.call(new dog);

4. apply

apply的意思是使用。
它和call一样,是函数的函数。
参数和call有不同,是(this,[arg1,arg2...])。没有返回值。
举例略。

5. bind

bind的意思是绑定。
它也是函数的函数。
它的作用是 动态绑定this.

function cat() {
  this.food = 'fish';
  this.say = function () {
    console.log('my food is '+this.food);
  }
}

var c = new cat;
c.say.bind(c);// 绑定为c

function dog() {
  this.food = 'bone';
}

c.say.call(new dog);// 未执行

6. arguments

函数内置对象

function say(name,age) {
  console.log(arguments);
  console.log([].slice.call(arguments));// 相当于arguments.slice
}

say('allen',28);

输出为:

// json对象
{ '0': 'allen', '1': 28 }
// 数组
[ 'allen', 28 ]

7. 正则中的w

var reg = new RegExp('\\w');
var match = reg.exec('/hello/world/1');
console.log(match[0]); 

上面的代码只匹配出了h.因为w虽然代表word,单词,可实际表示的是[a-zA-Z_]{1},并不表示一个单词,所以要匹配单词需要\\w+

var reg = new RegExp('\\w+');
var match = reg.exec('/hello/world/1');
console.log(match[0]); 

8. andt中的form

Form.create({
    mapPropsToFields(props){
        return {
            name: {value:props.name}
        }
    }
})(App)

以上是antd中Form的用法,Form会自动接管App的value和onchange。如果App是函数式的,那么onChange会找不到,只能用Component这种方式去写组件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值