1.function xx(){}定义函数,而对象和函数合写才是方法。

2.typeof返回一个用于识别其运算数类型的字符串。但是需要注意的是,比如typeof null返回的对象是object而不是null,因此尽量不使用。

3. parseInt将字符串转化为整数。但是如果该字符串的第一个字符是0,那么该字符串会基于八进制而不是十进制来求值,而且在八进制中,8和9不是数字,所以参数为“08”或者“09” 产生的结果都是0;所以建议加上基数参数,不要省略掉。

4. NAN是一个特殊定义的值,不是一个数字,但是

typeof NaA ==== 'number'; // true

可以看出,typeof无法辨别数字和NaN,而且NaN也不等同于它自己。判断一个值是否是数字的方法是

var isNumber = function isNumber(value) {

return typeof value ==== 'number' && isFinite(value);

}

isFinite (number)是JavaScript内置函数,用于判断number对象是否可以转换成一个有限的数字。

5.js中的假值:

值   类型

0 Number

NaN(非数字)  Number

''(空字符串)  String

false   Boolean

null Object

undefined Undefined。

这些值全部都等同于假,但是它们是不可互换的,所以不要使用不安全的==,而是应该使用===来判断值和数据类型全都相等。

6. eval和位运算符

eval这是一个传递字符串给编译器返回执行结果的函数需要谨慎使用。JavaScript没有整数类型,它只有双精度的浮点数。因此,位操作符把它们的数字运算数先转换成整数,接着执行运算,然后再转换回去。但由于语言的执行环境接触不到硬件,所以非常慢。Js应尽量避免复杂数据的计算。

7.函数

推荐以function表达式代替function语句。因为能够明确的表示这是一个包含一个函数值的变量。

function(){}

var foo=function(){} let foo=()=>{}

8. 类型的包装对象

尽量避免使用new Boolean(true)或者new Array或者new Object等等这些类型的包装对象,没有必要,用[],{}等等就好。

js需要注意的地方的更多相关文章

  1. 在django中使用vue.js需要注意的地方

    有接口如下: http://127.0.0.1:8000/info/schemes/ 返回json数据: [ { "name": "(山上双人标准间)黄山经典二日游(魅力 ...

  2. 还原网站上压缩的js代码

    还原网站上压缩的js代码 我们经常可以看到一些网站,把所需的javascript代码压缩成一行,就像下图这样 这种代码浏览器能读懂,但正常人是没法阅读的. 既然浏览器能读,浏览器当然也能还原这段代码. ...

  3. 浅谈Js闭包现象

    一.1.我们探究这个问题的时候如果按照正常的思维顺序,需要知道闭包是什么它是什么意思,但是这样做会让我们很困惑,了解这个问题我们需要知道它的来源,就是我们为什么要使用闭包,先不管它是什么意思!     ...

  4. js模块化历程

    这是一篇关于js模块化历程的长长的流水账,记录js模块化思想的诞生与变迁,展望ES6模块化标准的未来.经历过这段历史的人或许会感到沧桑,没经历过的人也应该知道这段历史. 无模块时代 在ajax还未提出 ...

  5. 浅析JS中的模块规范(CommonJS,AMD,CMD)

    如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已. 现在就看看吧,这些规范到底是啥东西,干嘛的. 一.CommonJS ...

  6. 浅析JS中的模块规范(CommonJS,AMD,CMD)////////////////////////zzzzzz

    浅析JS中的模块规范(CommonJS,AMD,CMD)   如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已.     ...

  7. js 模块化历程

    作者:吕大豹 网址:http://www.cnblogs.com/lvdabao/p/js-modules-develop.html 这是一篇关于js模块化历程的长长的流水账,记录js模块化思想的诞生 ...

  8. Webview加载本地js、图片的方法

    在项目开发中经常会将比较大的js.图片.css等放到app中,而html放服务器,这样在使用时流量较少,加载也比都放服务器上快,其实方法也比较多,网上搜了很久都没结果. 一种是获取服务器返回的html ...

  9. JS模块规范 前端模块管理器

    一:JS模块规范(为了将js文件像java类一样被import和使用而定义为模块, 组织js文件,实现良好的文件层次结构.调用结构) A:CommonJS就是为JS的表现来制定规范,因为js没有模块的 ...

随机推荐

  1. LeetCode(66)Plus One

    题目 Given a non-negative number represented as an array of digits, plus one to the number. The digits ...

  2. AGC 033

    目录 A. Darker and Darker B. LRUD Game 题面 题解 代码 C. Removing Coins 题面 题解 代码 D. Complexity 题面 题解 代码 E. G ...

  3. mongodb 的创建和使用

    1. sudo apt-get install mongodb 2. 登陆数据库: mongo, 3. 创建数据库:use dbname 4. 插入数据: db.dbname.insert({&quo ...

  4. Codeforces Round #386 (Div. 2) A+B+C+D!

    A. Compote 水题(数据范围小都是水题),按照比例找最小的就行了,3min水过. int main() { int a,b,c; while(~scanf("%d%d%d" ...

  5. hdu 3879 最大密集子图(点和边均带权)(模板)

    /* 最大权闭合图,可以用最大密集子图来解速度更快复杂度低 题解:胡伯涛<最小割模型在信息学竞赛中的应用> 点和边均带权的最大密集子图 s-i,权为U=点权绝对值和+边的所有权值 i-t, ...

  6. ubuntu使用git时,终端不显示git分支。

    1:问题描述: 在Windows环境下习惯使用git bash操作git分支,最近学习linux环境,发现linux环境终端不显示git分支,相关现象如下:      期望效果是: 我的linux环境 ...

  7. CodeForces - 750D New Year and Fireworks

    因为 烟花的最大范围是各个方向150格 所以 最大的空间应该是 300*300 BFS和DFS均可 模拟每一个烟花爆炸的过程 但是要注意 需要一个数组来排重 在某一个爆炸点 如果爆炸的方向 和爆炸的层 ...

  8. Shell脚本的编写,sed的使用以及一些正则表达式

    Shell脚本的简单编写以及sed的使用 标签(空格分隔): 博客文章 前一阵子为了批量修改Web审计规则,故编写了一个Shell脚本,顺便使用了下sed,顺便把正则表达式也重新学习一遍,感觉还是需要 ...

  9. CodeForces 599B Spongebob and Joke

    简单题. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> ...

  10. Excel小tips - 如何实现多列成绩统一排名

    本文参考:http://mp.weixin.qq.com/s/XR49hyG9Cods7rOcsM-tRg 如果有以下数据文件,需要进行成绩排名. 第一步:先在成绩列后边添加一列,用来显示名次.如下: ...