@Tean
2017-09-25T05:44:45.000000Z
字数 3271
阅读 933
javascript
- ECMAScript
- DOM
- BOM
- number :
整数、浮点数、Infinity、0x10、10、010、0b10- string :
'str'"str"- boolean :
truefalse- undefined :
undefined- null :
null
- Object
- Function
- Array
- Date
- String
- RegExp
- ...
var var_name;var va, vb, vc;// ES6增let va; // 变量const PI; // 常量(值不能改变)
var a; // 声明变量a = 4; // 变量赋值var b = 5;var x = 5, y = 6, z = 7;
- 由数字、字母、下划线、$组成;
- 不能以数字开头;
- 不能是关键字和保留字;
- 区分大小写;
- 采用驼峰命名;
- 见名知意;
+、-、*、/、%、++、--
=、+=、-=、*=、/=、%=
>、<、>=、<=、==、!=、===、!==
&、|、!、&&、||
boolean_exp ? true_val : false_val
+
~、&、|、^、<<、>>、>>>
swtich(exp) {case num1:// TODObreak;case num2:// TODObreak;...default:// TODO}
while(boolean_exp) {// TODO}
do {// TODO} while(boolean_exp);
for(var i = 0; i < 10; i++) {// TODO}
- break : 终止循环
- continue : 结束本轮循环,进入下一轮循环
// 定义数组var ary1 = new Array();var ary2 = new Array(5);var ary3 = new Array(1, 2, 3);var ary4 = [4, 5, 6];// 获取数组长度var len = ary.length;// 数组的遍历// 普通for循环for(var i = 0; i < ary.length; i++) {console.log(ary[i]);}// 普通for循环-升级版for(var i = 0, len = ary.length; i < len; i++) {console.log(ary[i]);}// for-infor(var i in ary) {console.log(ary[i]);}// 使用ES5的forEachary.forEach(function(val) {console.log(val);});// 使用ES6的for-offor(var v of ary) {console.log(v);}// 数组常用方法// 排序ary.sort(function(a, b) {return a - b;});ary.push(3); // 最后添加一个元素3ary.pop(); // 删除最后一个元素ary.unshift(4); // 开头位置添加元素ary.shift(); // 删除第一个元素ary.splice(2, 1, 3, 4);ary.slice(2, 4); // 提取子数组ary.reverse(); // 反转ary.join('-'); // 把数组按照指定分隔符连接成字符串
// 定义函数// 1function fn() {// TODO}// 2var fn = function() {// TODO};// 3var fn = new Function('params', 'TODO');
// 函数传参1var num = 4;function fn(num) {num = 3;}fn(num);console.log(num); // 4
// 函数传参2var obj = {age:23};function fn(obj) {obj.age = 3;}fn(obj);console.log(obj.age); // 3
// 函数传参3var obj = {age:23};function fn(obj) {obj = {age: 24}}fn(obj);console.log(obj.age); // 23
// 面试题1var s = 'a';s.name = 'age';console.log(s.name); // undefined
// 面试题2var s = new String('a');s.name = 'age';console.log(s.name); // age
(function() {})();(function() {}());~function() {}();
// 定义字符串var s1 = 'hello world';var s2 = "hello world";var s3 = new String("hello world");
var len = str.length; // 获取字符串长度
.charAt() // 根据下标找字符.indexOf() // 根据字符找下标,如果找不到则返回-1.lastIndexOf() // 根据字符找下标,是从后向前找.search() // 查找,支持正则.substring(start, end) // 截取字符串,包括start不包括end.substr(start, length) // 截取字符串,length为要截取字符串的长度.split() // 按照自定分隔符把字符串拆分为数组.toUpperCase() // 转换为大写.toLowerCase() // 转换为小写.replace() // 替换,支持正则.trim() // 去除收尾空格
// 获取日期对象var date = new Date(); // 获取当前时间var date2 = new Date(23523452345); // 设置时间date.getFullYear();date.getMonth(); // 注意要+1date.getDate();date.getHours();date.getMinutes();date.getSeconds();date.getDay(); // 星期date.getTime(); // 获取时间戳
Math.PI // 圆周率Math.abs(); // 绝对值Math.ceil(); // 向上取整Math.floor(); // 向下取整Math.round(); // 四舍五入Math.random(); // 产生一个 [0, 1) 的随机数// 产生随机数[min, max]的规律var num = Math.floor(Math.random() * (max - min + 1) + min);
Number(str) // 不推荐使用parseInt(str, 10)parseFloat(str)
var a = 34;var str = a + '';var s = a.toString();
var reg1 = new RegExp("\d");var reg2 = new RegExp("\d", gi);var reg3 = /\d/;var reg4 = /\d/ig;
^ 匹配开头$ 匹配结束. 匹配所有字符\d 匹配数字\w 匹配数字、字母、下划线\s 匹配空白\n 匹配换行\b 匹配单词边界\D 匹配非数字...
{m} m次{m,} 至少m次{m,n} m到n次? 最多一次+ 最少一次* 任意次数
var reg = /^[1-9]\d{4, 10}$/;var qq = '98237529';console.log(reg.test(qq));