1、JS数值最大值最小值:

>Number.MIN_VALUE
<5e-324
>Number.MAX_VALUE
<1.7976931348623157e+308

  判断数值是不是有穷的,可以用isFinite()来判断

  坑:1、对浮点数进行高精度计算时,需要把小数变成整数再计算,因为JS中0.1+0.2=0.30000000000000004,可能会有误差。isFinite(0.1+0.2)//true。isFinite(0.1)//true。

2、NaN

  任何涉及NaN的操作都会返回NaN,NaN与任何值都不相等,包括本身。isNaN()判断是否为NAN。isNaN(NaN)//true。isNaN("10")//false。isNaN("dusk")//false。0/0返回NaN。

3、数字转换

  

   Number()//   Number("") 0   Number("12a")  NaN

  ParseInt()//   ParseInt("") NaN   ParseInt("12a") 12

  ParseFloat()

4、toString()

  null 和 undefined 没有toString放啊。 var a = 10;a.toString("2")//1010   10转成2进制1010

  在不知道值是否为null or undefined的时候,可以用String()来转换为字符串。

5、位运算

  ~按位非 (数值取负后-1) 、& 按位与 、| 按位或 、<<左移 、 >>右移 、 >>>无符号右移 (可移动负数的符号位1)

6、!运算

  !NaN //true     !null //true    !"" //true    !undefined

7、 比较运算

  NaN和任何数值比,都是false

8、switch

  switch用的是全等操作符,不会发生类型转换(10不等于“10”)

9、块级作用域的坑     for循环结束后,i 没被销毁

    for(var i =  ; i <  ; i++){

    dosomething(i);

  }

  alert(i);//

 10、作用域链上的变量查询

  var a = ;

  function foo(){

    var a = ;

    return a;

  }

  alert(foo());// 2

  //优先使用局部变量,因查找作用域链是从本方法一致往上查找,直到查找到window的全局作用域。当找到后就会停止,所以在找到a=2时就停止了。如果想用a=1,必须window.a

11、数组

  

      a = [,,]

      b = a;

      a[] = ;

      alert()//a=>2,2,3    b=>2,2,3

  Concat
   a = [,,] b = a.concat() a[] = ;   alert()//a=>2,2,3 b=>1,2,3

Javascript高级程序设计第三版-笔记的更多相关文章

  1. JavaScript高级程序设计第三版.CHM【带实例】

    从驱动全球商业.贸易及管理领域不计其数的复杂应用程序的角度来看,说 JavaScript 已经成为当今世界上最流行的编程语言一点儿都不为过. JavaScript 是一种非常松散的面向对象语言,也是 ...

  2. JavaScript高级程序设计第三版学习笔记(一)之数据类型区分详谈

    null.NaN.undefined三者的区别是什么? 在初次接触到JavaScript的时候,傻傻的分不清null.NaN.undefined三者到底区别何在,在实际的项目开发中也因为这个问题而困惑 ...

  3. JavaScript高级程序设计第三版-读书笔记(1-3章)

    这是我第一次用markdown,也是我第一次在网上记录我自己的学习过程. 第一章 JavaScript主要由以下三个不同的部分构成 ECMAScript   提供核心语言功能 DOM     提供访问 ...

  4. javascript高级程序设计第三版书摘

    在HTML 中使用JavaScript <script>元素 在使用<script>元素嵌入 JavaScript 代码时,只须为<script>指定 type 属 ...

  5. 22.1 高级函数【JavaScript高级程序设计第三版】

    函数是JavaScript 中最有趣的部分之一.它们本质上是十分简单和过程化的,但也可以是非常复杂和动态的.一些额外的功能可以通过使用闭包来实现.此外,由于所有的函数都是对象,所以使用函数指针非常简单 ...

  6. 21.1 XMLHttpRequest 对象【JavaScript高级程序设计第三版】

    IE5 是第一款引入XHR 对象的浏览器.在IE5 中,XHR 对象是通过MSXML 库中的一个ActiveX对象实现的.因此,在IE 中可能会遇到三种不同版本的XHR 对象,即MSXML2.XMLH ...

  7. 14.5 富文本编辑【JavaScript高级程序设计第三版】

    富文本编辑,又称为WYSIWYG(What You See Is What You Get,所见即所得).在网页中编辑富文本内容,是人们对Web 应用程序最大的期待之一.虽然也没有规范,但在IE 最早 ...

  8. DOM 操作技术【JavaScript高级程序设计第三版】

    很多时候,DOM 操作都比较简明,因此用JavaScript 生成那些通常原本是用HTML 代码生成的内容并不麻烦.不过,也有一些时候,操作DOM 并不像表面上看起来那么简单.由于浏览器中充斥着隐藏的 ...

  9. 4.2 执行环境及作用域【JavaScript高级程序设计第三版】

    执行环境(execution context,为简单起见,有时也称为“环境”)是JavaScript 中最为重要的一个概念.执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为.每个执行环 ...

随机推荐

  1. CDH6.2官方文档

    文档总览: https://www.cloudera.com/documentation/enterprise/6/6.2.html 官方api: https://www.cloudera.com/d ...

  2. nodejs版本控制:nvm use命令失效

    Downloading npm version ... Download failed. Rolling Back. Rollback failed. remove C:\Users\Administ ...

  3. linux-查询某软件的安装的目录

    eg:jenkins\\\ rpm -ql jenkins 安装目录/var/lib/jenkins 配置文件 /etc/sysconfig/jenkins 日志目录 /var/log/jenkins ...

  4. HDU 1257 最少拦截系统 最长递增子序列

    HDU 1257 最少拦截系统 最长递增子序列 题意 这个题的意思是说给你\(n\)个数,让你找到他最长的并且递增的子序列\((LIS)\).这里和最长公共子序列一样\((LCS)\)一样,子序列只要 ...

  5. go相关资料

    1.go的调度2.go struct能不能比较 因为是强类型语言,所以不同类型的结构不能作比较,但是同一类型的实例值是可以比较的,实例不可以比较,因为是指针类型 3.go defer(for defe ...

  6. openCV 二 图像处理

    官网:https://docs.opencv.org/3.2.0/df/d9d/tutorial_py_colorspaces.html 改变颜色空间 本教程颜色空间转换:BGR ↔ Gray and ...

  7. nginx 针对特定地区的ip进行规则匹配

    使用geoip模块,加载ip库 geoip_country GeoIP.dat; geoip_city GeoLiteCity.dat; 转自http://ju.outofmemory.cn/entr ...

  8. express-handlebars

    https://www.npmjs.com/package/express-handlebars

  9. ubuntu部署Java、Python开发环境

    要部署Java开发环境首先就要安装JDK. 一.安装JDK8 1. 下载 jdk-8u172-linux-x64.tar.gz 到 /usr/java8/ 目录下: 2. tar  -zxvf  jd ...

  10. leetcode34. 在排序数组中查找元素的第一个和最后一个位置

    给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 你的算法时间复杂度必须是 O(log n) 级别. 如果数组中不存在目标值,返回 [ ...