工作中问题总结

1、jQuery.extend() // jQuery 库中将一个或多个对象合并成目标对象对象的方法

 1 // $.extend( flag, target, obj1, ...objN )
 2     // flag 表示是否深度合并,可以省略
 3     // target 目标对象、 obj1,objN 要一起合并的对象
 4     var object1 = {
 5         apple: 0,
 6         banana: { weight: 52, price: 100 },
 7         cherry: 97
 8     };
 9     var object2 = {
10         banana: { price: 200 },
11         durian: 100
12     }; 
13 // 未深度合并, 同名属性后者覆盖前者
14 $.extend(object1, object2) // { apple: 0, banana:{price:200}, cherry: 97, durian: 100 } 
  // ES6 可用扩展符进行合并 {...object1, ...object2}
15 16 // 深度合并 17 $.extend( true, object1, object2 ); // {"apple":0,"banana":{"weight":52,"price":200},"cherry":97,"durian":100}

2、navigator.platform // navigator是一个全局对象, navigator.platform() 返回浏览器操作系统平台(例:"MacIntel", "Win32", 等)

3、 邮箱、账号、手机号和电话的正则表达式验证方法

 1 // 邮箱验证: [email protected], AAAA以字母数字开头,之后包括字母数字下划线和短线“-”组成,BBBB由字母,数字,CCC域名后缀 2-4 个字母组成
 2 let EmailReg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;
 3 
 4 // 账号验证: 字母、数字、下划线组成,字母开头,4-16位。
 5 let acNoReg = /^[a-zA-Z](\w{3, 15})$/;
 6 
 7 // 手机号验证: 11位数字,1开头
 8 let tel = /^1\d{10}$/;
 9 
10 // 电话号码: 区号+号码; 区号0开头,3-4位,号码7-8位;区号和号码之间有或没有 "-" 连接
11 let phone = /^0\d{3, 4}-?\d{7, 8}$/;

4、 React setState修改数组中的数据,视图不更新;给节点增加key值,修改数组数据,同时动态改变key值,已达到视图更新的目的(不是很好)

5、babel-polyfill: 工作用的浏览器环境并不支持ES6新增的属性方法,因此引入babel-polyfill,为当前环境提供一个垫片。 

  polyfill:指的是“用于实现浏览器不支持原生功能的代码”, 

  安装命令----cnpm install --save babel-polyfill 
  引      入----import 'babel-polyfill';
6、

猜你喜欢

转载自www.cnblogs.com/newttt/p/12562758.html