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. HDU 1069 Monkey and Banana (动态规划、上升子序列最大和)

    Monkey and Banana Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  2. sqlserver with(nolock)而mysql 不需nolock

    nolock 是 SQL Server 特有的功能. 例如:对于一个表 A,更新了一行,还没有commit,这时再select * from A 就会死锁.用select * from A(noloc ...

  3. Kettle的Kitchen和Span

    Kitchen——工作(job)执行器 (命令行方式) -rep  : Repository name   任务包所在存储名    -user  : Repository username   执行人 ...

  4. Python文件的几种读写方式

    1). "w "写模式,它是不能读的,如果用w模式打开一个已经存在的文件,会清空以前的文件内容,重新写 "w+ "是读写内容,只要沾上w,肯定会清空原来的文件2 ...

  5. vue-router的query和params的区别

    vue-router的query和params的区别 首先简单来说明一下$router和$route的区别 $router为VueRouter实例,想要导航到不同url,则使用$router.push ...

  6. phpstudy配置多站点

    1.打开vhosts.conf文件     目录 Apache/conf/vhosts.conf #开启apache的vhost模块 (此模块默认是关闭的,去掉前面的#号) LoadModule vh ...

  7. mysql登录密码错误,以及设置密码

    1.输了几次,密码都错误,忘记了... 2.编辑mysql安装文件夹(D:\mysql-5.7.26-winx64)下的my.ini文件,mysqld标签下输入 skip-grant-tables,字 ...

  8. hier - 文件系统描述

    DESCRIPTION 描述 一个典型的Linux系统具有以下几个目录: / 根目录,是所有目录树开始的地方. /bin 此目录下包括了单用户方式及系统启动或修复所用到的所有执行程序. /boot 包 ...

  9. laraveladmin省市区三级联动

    Distpicker是一个中国省市区三级联动选择组件,这个包是基于Distpicker的laravel-admin扩展,用来将Distpicker集成进laravel-admin的表单中 安装 com ...

  10. 【转】ubuntu或linux网卡配置/etc/network/interfaces

    转自:https://www.cnblogs.com/qiuxiangmuyu/p/6343841.html 青蛙准备写一个系列文章,介绍一些Debian/Ubuntu里面常用的配置文件.当然,Lin ...