JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结


Posted in Javascript onJune 27, 2019

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
onmouseover和onmouseout的一些问题思考
Aug 14 Javascript
JS控制输入框内字符串长度
May 21 Javascript
JavaScript数组Array对象增加和删除元素方法总结
Jan 20 Javascript
javascript实现树形菜单的方法
Jul 17 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
Jun 03 Javascript
移动端 一个简单易懂的弹出框
Jul 06 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
Jul 11 Javascript
使用命令行工具npm新创建一个vue项目的方法
Dec 27 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
Feb 28 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
Sep 04 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
Sep 24 Javascript
JavaScript运行机制实例分析
Apr 11 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
Jun 27 #Javascript
ES6 let和const定义变量与常量的应用实例分析
Jun 27 #Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
Jun 27 #Javascript
微信小程序实现form表单本地储存数据
Jun 27 #Javascript
ES6 class的应用实例分析
Jun 27 #Javascript
ES6 Promise对象的应用实例分析
Jun 27 #Javascript
使用Vue 实现滑动验证码功能
Jun 27 #Javascript
You might like
PHP输出英文时间日期的安全方法(RFC 1123格式)
2014/06/13 PHP
CodeIgniter钩子用法实例详解
2016/01/20 PHP
php实现微信原生支付(扫码支付)功能
2018/05/30 PHP
javascript 尚未实现错误解决办法
2008/11/27 Javascript
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
innerText和textContent对比及使用介绍
2013/02/27 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
解析Javascript中中括号“[]”的多义性
2013/12/03 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
网页收藏夹显示ICO图标(代码少)
2015/08/04 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
2016/03/04 Javascript
浅析JS异步加载进度条
2016/05/05 Javascript
JS批量替换内容中关键词为超链接
2017/02/20 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
2017/02/24 Javascript
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
2018/07/13 Javascript
layui获取选中行数据的实例讲解
2018/08/19 Javascript
vue props传值失败 输出undefined的解决方法
2018/09/11 Javascript
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
python动态性强类型用法实例
2015/05/09 Python
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
深入理解Python对Json的解析
2017/02/14 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
将python依赖包打包成window下可执行文件bat方式
2019/12/26 Python
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
爱尔兰电脑、家电和家具购物网站:Buy It Direct
2019/07/09 全球购物
Quiksilver荷兰官方网站:冲浪和滑雪板
2019/11/16 全球购物
怎么写自荐书范文
2014/02/12 职场文书
《可爱的动物》教学反思
2014/02/22 职场文书
测量员岗位职责
2015/02/14 职场文书
2016年寒假政治学习心得体会
2015/10/09 职场文书
MySQL删除和插入数据很慢的问题解决
2021/06/03 MySQL
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers