本文实例讲述了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() 转换为小写字母关于浮点数中的保留几位小数的问题
toFixed
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 最大值为 6
var max1 = Math.max(); // max1 为 -Infinity , 无参数的情况
var min = Math.min(1,2,6,5,9,3); // min 最小值位 1
var 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字符与字符串操作技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。