Javascript高级程序设计第三版-笔记
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高级程序设计第三版-笔记的更多相关文章
- JavaScript高级程序设计第三版.CHM【带实例】
从驱动全球商业.贸易及管理领域不计其数的复杂应用程序的角度来看,说 JavaScript 已经成为当今世界上最流行的编程语言一点儿都不为过. JavaScript 是一种非常松散的面向对象语言,也是 ...
- JavaScript高级程序设计第三版学习笔记(一)之数据类型区分详谈
null.NaN.undefined三者的区别是什么? 在初次接触到JavaScript的时候,傻傻的分不清null.NaN.undefined三者到底区别何在,在实际的项目开发中也因为这个问题而困惑 ...
- JavaScript高级程序设计第三版-读书笔记(1-3章)
这是我第一次用markdown,也是我第一次在网上记录我自己的学习过程. 第一章 JavaScript主要由以下三个不同的部分构成 ECMAScript 提供核心语言功能 DOM 提供访问 ...
- javascript高级程序设计第三版书摘
在HTML 中使用JavaScript <script>元素 在使用<script>元素嵌入 JavaScript 代码时,只须为<script>指定 type 属 ...
- 22.1 高级函数【JavaScript高级程序设计第三版】
函数是JavaScript 中最有趣的部分之一.它们本质上是十分简单和过程化的,但也可以是非常复杂和动态的.一些额外的功能可以通过使用闭包来实现.此外,由于所有的函数都是对象,所以使用函数指针非常简单 ...
- 21.1 XMLHttpRequest 对象【JavaScript高级程序设计第三版】
IE5 是第一款引入XHR 对象的浏览器.在IE5 中,XHR 对象是通过MSXML 库中的一个ActiveX对象实现的.因此,在IE 中可能会遇到三种不同版本的XHR 对象,即MSXML2.XMLH ...
- 14.5 富文本编辑【JavaScript高级程序设计第三版】
富文本编辑,又称为WYSIWYG(What You See Is What You Get,所见即所得).在网页中编辑富文本内容,是人们对Web 应用程序最大的期待之一.虽然也没有规范,但在IE 最早 ...
- DOM 操作技术【JavaScript高级程序设计第三版】
很多时候,DOM 操作都比较简明,因此用JavaScript 生成那些通常原本是用HTML 代码生成的内容并不麻烦.不过,也有一些时候,操作DOM 并不像表面上看起来那么简单.由于浏览器中充斥着隐藏的 ...
- 4.2 执行环境及作用域【JavaScript高级程序设计第三版】
执行环境(execution context,为简单起见,有时也称为“环境”)是JavaScript 中最为重要的一个概念.执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为.每个执行环 ...
随机推荐
- redhat java配置
原来的java版本为1.4 whereis java后 将java原来的目录全部删除 拿来新的1.8的安装好的java包 vi /etc/profile插入 JAVA_HOME=/usr/local/ ...
- WAMP中的mysql设置密码
为WAMP中的mysql设置密码密码 WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作. 1.首先,通过WAMP打开mysql控制台. ...
- python中魔法方法__str__与__repr__的区别
提出问题 当我们自定义一个类时,打印这个类对象或者在交互模式下直接输入这个类对象按回车,默认显示出来的信息好像用处不大.如下所示 In [1]: class People: ...: def __in ...
- linux命令 集合
ps:查看所有进程 // -e :显示所有进程:-f:代表全格式 ps -ef | grep python :查看后台运行的python程序,| 表示管道,grep表示筛选 & 符号:后台执行 ...
- [WPF]BringIntoView
1.在scrollview 中的frameworkelement可以使用 FE.BringIntoView(); 滚动到此控件. 2.该 方法能一个重载 Bottom.BringIntoView(ne ...
- [Vue] vuex-interview
1.你有使用过 vuex 的 module 吗?主要是在什么场景下使用? 把状态全部集中在状态树上,非常难以维护. 按模块分成多个 module,状态树延伸多个分支,模块的状态内聚,主枝干放全局共享状 ...
- php小程序生成二维码
<?php getwxacode(); //生成二维码 function getwxacode(){ $url = "https://api.weixin.qq.com/wxa/get ...
- 深入理解java虚拟机(3)垃圾收集器与内存分配策略
一.根搜索算法: (1)定义:通过一系列名为"GC Roots"的对象作为起点,从这些起点开始向下搜索,搜索走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连的时 ...
- markdown的日常使用
# POI前端接口 ``` 描述: 项目poi接口 作者: X-Wolf 时间: -- ``` ------ [TOC] ------ ##声明 ### 请求地址 ``` DOMAIN/strateg ...
- node.js安装后输入“node -v”提示'node' 不是内部或外部命令,也不是可运行的程序的解决方法
换个电脑,重新搭配环境的时候遇到的问题.node.js已经在官网进行下载安装了,但是VScode里面显示不是内部的命令,也不是可运行的程序 但是在cmd控制台还是能查到的 借助网上的方法进行了测试和调 ...