启用严格模式 "use strict" 这是一个 pragma 编译指示
让编码意图更清晰  是一个重要原则
5种简单数据类型 Undefined Null Boolean Number String
1种复杂数据类型 Object
检测数据类型的方法
typeof
有如下值:
undefined boolean object string number function
typeof Null object
意在保存对象还没有保存对象的变量的初始值最好是什么 null
八进制的第一位必须是 0
undefined == null 的结果 是 true
浮点数值使用注意事项 永远不要测试其值                   
最大数值 Number.MAX_VALUE
最小数值 Number.MIN_VALUE
判断数值是否有穷 inFinite()
NaN 是一个特殊的数值 两特点是
涉及它的操作结果都是NaN
和任何值包括它自己 都不相等
把别的进制数 转为 10进制数 parseInt( "A", 16) ;
把10进制数 转为 别的进制数据  num.toString( 16 )  即转为16进制数
object里有的属性和方法
constructor  保存着用于创建当前对象的函数
hasOwnProperty() 不能判断原型中的
isPrototypeOf  用于检查传入的对象是否是当前对象的原型
propertyIsNumerable() 用于检查给定的属性是否能够使用 for-in来枚举
toLocalString 返回对象的字符串表示
toString
valueOf  通常与toString方法返回的值相同
操作符分4类
算术操作符:++ --
位操作符: 非 与 或 异或,左移 右移 无符号右移
关系操作符:
相等操作符
按位非 NOT
~num 
即取反码
相当于负值减1
按位与 AND a&b 都为1才是1
按位或 OR a|b 只要有一个为1就是1
按位异或 XOR a^a  两位不同才为 1
左移
a << 5
左移不会影响符号位
比如 -2 移 5位 会变成  -64
有符号的右移 a >>5 和左移正好相反 
无符号的右移 
a >>> 5
如果原数是负数,数字会变得非常大,且变为正数
逻辑非
!a 
逻辑与
a&&a 
逻辑或
a||b
利用逻辑或的行为 设计默认值             var result = preferredObj || backupObj   
乘性操作符有三个   乘法 除法 求模  
加性操作符有两个  + -  ,+可用来拼拼字符串
 关系操作符有4个  > < >= <=
 相等操作符    == === != 
 条件操作符  ? :
 赋值操作符  *=   /=  %= += -=   <<=  >>=  >>>=
 if 注意事项    一定要用代码块                           
 do while  后判断
 while  先判断    
 for 特点 里面声明的外部也可以访问
for in

for( var propName in window )

输出的属性名的顺序是不可预测的

在使用前 要先检测该对象的值不是null或undefined

with   严格模式下不可以用with
switch  

每个case的值不一定是常量,也可以是变量

比较时,使用的是全等操作符

参数  

永远是放到一个数组里

可用arguments依次访问

没有重载 EcmaScript函数没有签名,因为其参数是由包含零或多个值的数组来表示的
   
   

读书笔记 - js高级程序设计 - 第三章 基本概念的更多相关文章

  1. 读书笔记 - js高级程序设计 - 第五章 引用类型

      引用类型 和 类 不是一个概念 用typeof来检测属性是否存在 typeof args.name == "string"  需要实验 访问属性的方法 .号和[] 一般情况下要 ...

  2. 读书笔记 - js高级程序设计 - 第六章 面向对象的程序设计

      EcmaScript有两种属性 数据属性 和 访问器属性 数据属性有4个特性 Configurable Enumerable Writable Value   前三个值的默认值都为false   ...

  3. 读书笔记 - js高级程序设计 - 第十一章 DOM扩展

      对DOM的两个主要的扩展 Selectors API HTML5  Element Traversal 元素遍历规范 querySelector var body = document.query ...

  4. 读书笔记 - js高级程序设计 - 第七章 函数表达式

      闭包 有权访问另一个函数作用域中的变量的函数 匿名函数 函数没有名字 少用闭包 由于闭包会携带包含它的函数的作用域,因此会比其它函数占用更多的内存.过度使用闭包可能会导致内存占用过多,我们建议读者 ...

  5. 读书笔记 - js高级程序设计 - 第四章 变量 作用域 和 内存问题

      5种基本数据类型 可以直接对值操作 判断引用类型 var result = instanceof Array 执行环境 每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这 ...

  6. 读书笔记 - js高级程序设计 - 第十五章 使用Canvas绘图

    读书笔记 - js高级程序设计 - 第十三章 事件   canvas 具备绘图能力的2D上下文 及文本API 很多浏览器对WebGL的3D上下文支持还不够好   有时候即使浏览器支持,操作系统如果缺缺 ...

  7. js 高级程序设计 第三章学习笔记——Number数据类型需要注意的事项

    1.浮点数值 虽然小数点前面可以没有整数,但是并不推荐这种写法. 由于保存浮点数值需要的内存空间是保存整数值的两倍,因此ECMAScript会不失时机地将浮点数值转化为整数数值.显然,如果小数点后面没 ...

  8. 读书笔记 - js高级程序设计 - 第十二章 DOM2和DOM3

      Node类型的变化   访问元素的样式 myDiv.style.backgroundColor = "red" myDiv.style.width = "100px& ...

  9. 读书笔记 - js高级程序设计 - 第十章 DOM

      文档元素 是文档的最外层元素,在Html页面中,文档元素始终都是<html>元素 在xml中,任何元素都可以是文档元素 Node类型 Node.ELEMENT_NODE 元素 Node ...

随机推荐

  1. ROS学习笔记7-理解服务(services)和参数(parameter)

    本文内容来自官方wiki:http://wiki.ros.org/ROS/Tutorials/UnderstandingServicesParams ROS服务(service)服务也是ROS中一种通 ...

  2. Oracle 的DBA考证

    转自 :https://www.cnblogs.com/chunge2050/archive/2013/04/16/3023730.html 详细的了解了几天之后,总结起来就是oracle为DBA认证 ...

  3. [转]Android 如何建立AIDL

    建立AIDL服务要比建立普通的服务复杂一些,具体步骤如下: (1)在Eclipse Android工程的Java包目录中建立一个扩展名为aidl的文件.该文件的语法类似于Java代码,但会稍有不同.详 ...

  4. 关于torchvision.models中VGG的笔记

    VGG 主要有两种结构,分别是 VGG16 和 VGG19,两者并没有本质上的区别,只是网络深度不一样. 对于给定的感受野,采用堆积的小卷积核是优于采用大的卷积核的,因为多层非线性层可以增加网络深度来 ...

  5. Centos7安装Redis-单节点

    1.安装 gcc 编译环境 由于 Redis 使用 C 语言开发,所以官网下载的源码需要进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装. ​[root@CentOS ~]# yu ...

  6. Fedora Workstation 31众多功能得到改进

    导读 周一,Red Hat的桌面高级经理Christian F.K. Schaller分享了一篇博客文章,概述了Fedora Workstation 31的各种改进和特性.这些包括Wayland的改进 ...

  7. s5pc100开发板Nand flash移植

    相关软件下载地址:http://pan.baidu.com/s/16yo8Y fsc100开发板 交叉编译工具:arm-cortex_a8-linux-gnueabi-gcc Ÿ   添加针对我们平台 ...

  8. IPsec_crypto[6]次配置

    IPsec_crypto[6]次配置: ①.①:crypto isakmp enbale——启用ISAKMP ②.②:crypto isakmp policy 10——创建一个策略组 ③:encryp ...

  9. 从零开始学C++(0 简介)

    2020年,给自己定一个新目标————开始写技术博客,将之前所学的内容重新复习并整理成一系列的文章,一来可以让自己对这些基础知识更加熟悉,二来方便于以后的复习查阅. 以前自己都是以笔记的形式将知识点记 ...

  10. 吴裕雄--天生自然C++语言学习笔记:C++ 接口(抽象类)

    接口描述了类的行为和功能,而不需要完成类的特定实现. C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念. 如果类中至少有一个函数被声明为纯虚 ...