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这种方式去写组件。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。