本文实例讲述了JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作。分享给大家供大家参考,具体如下:
Js 中的运算符优先级
优先级依次降低
- ()
- !、-、++、–
- *、/、%
- +、-
- <、<=、<、>=
- ==、!=、===、!==、
- &&
- ||
- ?:
- =、+=、-=、*=、/=、%=
URL 编码和解码
- encodeURIComponent()
- decodeURIComponent()
- encodeURI()
- decodeURI()
- escape()
- unescape()
- 区别
字符串操作常用API
- toString() 转换成字符串
- charAt(index) 获取索引位置字符
- charCodeAt(index) 获取索引位置字符在Unicode字符集中的编码值
- indexOf(index) 从前向后获取索引字符串位置 ,找不到返回 -1
- lastIndexOf(index) 从后向前获取索引字符串位置 ,找不到返回 -1
- concat 连接字符,返回新组成的字符
- slice(截取的位置,截取终点) 特殊说明: ① 左闭右开 ② slice(2) 截取从索引号为2的到最后 ③ slice(-2) 从右边开始往左边取2个
- substr(截取的位置, 截取的长度) 特殊说明: ① str.substr(1,2) 表示从索引位置为1的地方取2个 ② str.substr(-1) 从右边开始往左边取1个, 存在兼容问题:ie6,7,8返回所有字符串,不建议使用负值
- substring (更智能版的slice) 特殊说明: ① substring(5,2)会被自动转换成substring(2,5) ② substring(-number) 返回全部字符串
- toUpperCase() 转换为大写字母
- toLowerCase() 转换为小写字母
关于浮点数中的保留几位小数的问题
var num1 = 5.6789;console.log(num1.toFixed(2)) // 5.68 注意四舍五入var num2 = 1.234;console.log(num2.toFixed(2)) // 1.23
Math api
var max = Math.max(1,2,3,6,4,5); // max 最大值为 6var max1 = Math.max(); // max1 为 -Infinity , 无参数的情况var min = Math.min(1,2,6,5,9,3); // min 最小值位 1var min1 = Math.min(); // min1 为 Infinity , 无参数的情况
注意参数:里面可以是字符串型的数字表示,但不能是undefined, null, NaN
一个简单的小递归程序
var num = 0;(function me() { if(num > 4) { return; } st = setTimeout(function() { clearTimeout(st); console.log(++ num); me(); },500);})();
关于 arguments.callee
arguments.callee
返回正被执行的 Function 对象,在使用函数递归调用时推荐使用arguments.callee
代替函数名本身,不过在严格模式下不建议使用
上述递归调用可替换为:
var num = 0;(function () { if(num > 4) { return; } var callee = arguments.callee; st = setTimeout(function() { clearTimeout(st); console.log(++ num); callee(); }, 500);})();
希望本文所述对大家JavaScript程序设计有所帮助。
注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。