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 相关文章推荐
用javascript获取地址栏参数
Dec 22 Javascript
jquery cookie插件代码类
May 26 Javascript
JavaScript中伪协议 javascript:使用探讨
Jul 18 Javascript
javascript实现的多个层切换效果通用函数实例
Jul 06 Javascript
SublimeText自带格式化代码功能之reindent
Dec 27 Javascript
jquery.multiselect多选下拉框实现代码
Nov 11 Javascript
electron demo项目npm install安装失败的解决方法
Feb 06 Javascript
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
Apr 08 Javascript
详解使用create-react-app快速构建React开发环境
May 16 Javascript
微信小程序的部署方法步骤
Sep 04 Javascript
vue设置一开始进入的页面教程
Oct 28 Javascript
js实现内置计时器
Dec 16 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
使用apache模块rewrite_module (转)
2007/02/14 PHP
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
关于PHP文件的自动运行方法分析
2016/05/13 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
jscript之List Excel Color Values
2007/06/13 Javascript
jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明
2011/06/27 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
2016/10/25 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
AngularJS控制器之间的通信方式详解
2016/11/03 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
JS基于贪心算法解决背包问题示例
2017/11/27 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
2017/12/19 Javascript
JavaScript实现的简单Tab点击切换功能示例
2018/07/06 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
2019/09/06 Javascript
详解JavaScript执行模型
2020/11/16 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
在Django的上下文中设置变量的方法
2015/07/20 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
tensorflow TFRecords文件的生成和读取的方法
2018/02/06 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
Python IDLE或shell中切换路径的操作
2020/03/09 Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
2020/03/23 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
CSS3新增布局之: flex详解
2020/06/18 HTML / CSS
历史学专业毕业生求职信
2013/09/27 职场文书
校园十大歌手策划书
2014/02/01 职场文书
材料员岗位职责范本
2015/04/11 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis