美文网首页
js高级程序设计阅读摘录1

js高级程序设计阅读摘录1

作者: day_day_up | 来源:发表于2017-07-24 15:12 被阅读0次
1. typeof获取未定义的变量也为undefined
var message; // 这个变量声明之后默认取得了 undefined 值
// 下面这个变量并没有声明
// var age
alert(typeof message); // "undefined"
alert(typeof age); // "undefined" 
2.typeof判断数组类型的缺陷
typeof([]) //object

第一钟解决方案
[] instanceof Array //适用场景限制 只适用在与数组初始化相同的环境下才有xiao
common deals
Object.prototype.toString.call([]) //无限制 jq $.type源码也是这样实现的。

3.自动转换为boolean

建议通过!!a方式,===和!== 避免弱类型转换

image.png
4.NaN

NaN 本身有两个非同寻常的特点。首先,任何涉及 NaN 的操作(例如 NaN/10)都会返回 NaN,这
个特点在多步计算中有可能导致问题。其次,NaN 与任何值都不相等,包括 NaN 本身。例如,下面的代
码会返回 false:

alert(NaN == NaN); //false 
alert(isNaN(NaN)); //true
alert(isNaN(10)); //false(10 是一个数值)
alert(isNaN("10")); //false(可以被转换成数值 10)
alert(isNaN("blue")); //true(不能转换成数值)
alert(isNaN(true)); //false(可以被转换成数值 1)
5.Number()、parseInt()和 parseFloat()
var num1 = Number("Hello world!"); //NaN
var num2 = Number(""); //0
var num3 = Number("000011"); //11
var num4 = Number(true); //1 

用 parseInt()转换空字符串会返回 NaN(Number()对空字符返回 0)。如果第一个字符是数字字符,parseInt()会继续解析第二个字符,直到解析完所有后续字符或者遇到了一个非数字字符。例如,"1234blue"会被转换为 1234,因为"blue"会被完全忽略。类似地,"22.5"会被转换为 22,因为小数点并不是有效的数字字符。

相关文章

  • js高级程序设计阅读摘录1

    1. typeof获取未定义的变量也为undefined 2.typeof判断数组类型的缺陷 第一钟解决方案[] ...

  • js高级程序设计阅读摘录2

    检测数组 对于一个网页,或者一个全局作用域而言,使用 instanceof 操作符就能得到满意的结果: insta...

  • js高级程序设计阅读摘录4

    自定义函数实现sort排序(排查诡异默认排序) 函数内部属性 在函数内部,有两个特殊的对象:arguments 和...

  • js高级程序设计阅读摘录3

    迭代方法  every():对数组中的每一项运行给定函数,如果该函数对每一项都返回 true,则返回 true。...

  • js高级程序设计阅读摘录5

    num.toFixed() 能够自动舍入的特性,使得 toFixed()方法很适合处理货币值。但需要注意的是,不同...

  • JS转义字符

    摘自《JS高级程序设计》

  • 前端知识体系

    1.JS基础 5 2.JS高级 5JS高级程序设计,各种api的应用,es6新增api的运用 3.CSS...

  • JavaScript 基础:关键操作符的各种规则

    最近在阅读《JavaScript 高级程序设计(第三版)》,通过阅读它来学习 JS 知识,本文大部知识内容分来自此...

  • JavaScript 基础:函数

    最近在阅读《JavaScript 高级程序设计(第三版)》,通过阅读它来学习 JS 知识,本文大部知识内容分来自此...

  • js常见知识漏洞整理

    前言 本文主要摘录《js高级程序设计》,也就是我们常说的红宝书,其中一些比较少见的知识点,处理技巧。 知识点列表 ...

网友评论

      本文标题:js高级程序设计阅读摘录1

      本文链接:https://www.haomeiwen.com/subject/cosbkxtx.html