`
CrystalBear
  • 浏览: 11771 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论
阅读更多
第四章 变量:
1 javascript是非类型的语言。
2 如果不显示地声明一个变量,javascript将隐式地声明它。
3 var 用来声明变量,并且var声明的变量是永久性的,也就是说,用delete删除这些变量将会引发错误。
4 var语句多次声明同一个变量是合法的,如果重复声明,相当于一个赋值语句而已。
5如果尝试读一个未声明的变量的值,js会生成一个错误。如果尝试给一个未用var声明的变量赋值,js会隐式声明该变量。但是要注意,隐式声明的变量总是被创建为全局变量。(本人注:相当于解释器遇到一个变量,但是在scope chain中一直查找,都未找到定义,那么在最上层,也就是全局那层,隐式声明它)。
6 function f()
{
alert(scope);
var scope = ‘local’;
alert(scope);
}//输出为undefined
这个例子说明,将所有变量声明集中起来防止在函数开头是一个好的编程习惯。
7 基本类型:数值,布尔,null,undefined,
   引用类型:对象,数组,函数。
基本类型:在内存中大小固定,比如数值,8个字节,布尔,1位就够了。
引用类型:数组可以包含任意多个元素,函数可以包含任意数量的代码。变量存储的是值的引用。
字符串:字符串是一个特例,因为它具有可变的大小。只复制对字符串的引用,而不是字符串的内容。另一方面,字符串在许多方面都和基本类型的表现相似。字符串是不可变的。
8 js使用垃圾收集
9 全剧对象:当js的解释器开始运行时,它首先要做的事情之一就是在执行任何js代码之前,创建一个全局对象(global object)。这个对象的属性就是js程序的全局变量。【注:这个全局对象在客户端js中值的就是window】
10 局部对象:调用对象(call object)
局部变量是调用对象的属性。
11 js的执行环境:
Js解释器在每次开始执行一个函数时,都会为那个函数创建一个执行环境(execution context)。显然,一个执行环境就是所有js代码段执行时所在的环境。这个环境的一个重要的部分就是定义变量的对象。
12 深入理解变量作用域:
每个js执行环境都有一个和它关联在一起的作用域链(scope chain)。这个作用域链是一个对象列表或对象链。并且是一个类似堆栈式的结构。当前函数对象在链的最上层。查找变量时,首先查找的是最上层,如果没有变量的定义继续往下查找,如果都未找到,那么变量是undefined。

第三章 数据类型
1 基本类型:数字,文本,布尔
2 复合数据类型: 对象。
•分为两种:
1 无序集合, 2 有序集合(数组array)。虽然本质上说,对象和数组是同一种数据类型,但是它们的行为却极为不同,所以本书通常将它们看作两种不同的类型。
•另一种特殊的对象是函数(function)。函数是具有可执行代码的对象。
•js语言的核心还定义了其他一些专用的对象。这些对象表示的不是新的数据类型,而是对象的新的类(class)。比如Date类定义的是表示日期的对象,RegExp类定义的是表示正则表达式的对象,Error类定义的是表示js程序发生语法错误和运行时错误的对象。
3 数字(number)
Js不区分整数数值和浮点型数值。在js中所有的数字都是由浮点型表示的。Js采用IEEE745标准定义64位浮点格式。
当一个数字直接出现在js程序中是,我们成它为数值直接量(numeric literal)
十进制,十六进制:0x或0X开头 0~9 a(A)~f(F),八进制:0开头【注:某些js实现不支持八进制直接量】
4 浮点直接量:支持科学计数法
5 特殊的数值:
无穷大Infinity,负无穷大-Infinity
当一个算术运算产生了未定义的结果或错误时,就会返回另一个特殊的js数值。在这种情况下,结果是一个非数字的特殊值,输出为NaN。这个非数值和任何数值都不相等,包括它自己,所以需要一个专门的函数isNaN()来检测这个值。
Number.MAX_VALUE,Number.MIN_VALUE
6 字符串直接量的转移序列:
\t,\r,\n,\0 【NUL字符\u000】,\b,\”,\’,\\,\uXXX【Unicode字符】
7 函数
8 null
9 undefined
10 自动数据类型转换
11 基本数据类型的包装对象
typeof(“abc”) 结果是string,js不仅支持数字,字符串和布尔值,还支持Number,String和Boolean类,这些类是对基本数据类型的包装。这些包装(wrapper)不仅具有和基本类型一样的值,还定义了运算数据的属性和方法。
【注:eval()方法对待字符串值和String对象是不同的,如果无意地传递给它一个String对象,而不是一个基本的字符串值,它可能无法像预期的那样工作。】

第二章 词法结构
1 字符集
1 Js程序是用Unicode字符集编写。7位的ASCII和ISO Latin -1 只适用于英语和西欧语言。并且是Unicode的子集。Js中的每个字符都是有两个字节表示的。
2 大小写敏感
3 js会忽略程序记号之间的空格,制表符,换行符。
4 可选的分号
5 如果用换行符打断了一行,并且这行是一个完整的语句,那么js会自动插入一个分号。
例如:
return
true;
js会认为是return;最好写成return true;
6直接量:literal
7 标识符:第一个字符必须是字母、下划线。或美元符号。
8保留字:js关键字,ECMA扩展保留的关键字
如果用这些保留字用作变量名或函数,会得到一个错误。
分享到:
评论

相关推荐

    JavaScript犀牛书电子版

    《JavaScript犀牛书》是JavaScript编程领域的一本经典著作,被广大开发者誉为"骨灰级"的学习资料,尤其适合初学者入门。这本书全面而深入地介绍了JavaScript语言的核心概念、语法以及实际应用,旨在帮助读者建立起...

    JavaScript权威指南(JavaScript犀牛书一本)

    《JavaScript权威指南》是JavaScript编程领域的一本经典之作,由著名技术作家David Flanagan撰写,被誉为"JavaScript犀牛书"。这本书深入浅出地讲解了JavaScript语言的核心概念、语法特性和高级特性,对于想要全面...

    JavaScript权威指南(中文第四版犀牛书)

    JavaScript权威指南,最著名的javaScript参考用书。被大家亲切的成为犀牛书,是O'Reilly出版集团动物系列书的一分子。

    JavaScript- The Definitive Guide, 第五版 - 犀牛书

    书中较全面地对 JavaScript 的各种函数以及特性作了介绍,而后面占了全书超过一半内容的 JavaScript 核心参考、客户端 JavaScript 参考、DOM 参考,无疑是编写 JavaScript 时最有力的参考手册(当然,在线的除外)。...

    USB合辑_usb_犀牛usb接口_犀牛_犀牛3d模型_犀牛建模usb口_

    标题中的“USB合辑_usb_犀牛usb接口_犀牛_犀牛3d模型_犀牛建模usb口”指的是一个专门针对USB接口设计的3D建模资源集合,其中特别提到了“犀牛USB接口”和“犀牛3D模型”。这个合辑可能包含了多个与USB接口相关的3D...

    不得不看的经典推荐教程-犀牛入门教程_含目录

    犀牛(Rhino)是美国Robert McNeel & Associates公司开发的一款基于NURBS(非均匀有理B样条)的高级三维建模软件,广泛应用于工业设计、建筑设计、船舶设计、珠宝设计、汽车设计、CAD/CAM、快速成型、动画、电影等多...

    JavaScript权威指南(第六版)犀牛书 淘宝前端团队翻译

    JavaScript权威指南(第六版)犀牛书,淘宝前端团队翻译,中文版

    犀牛中文语言包

    【犀牛中文语言包】是针对著名的3D建模软件Rhino的一款重要组件,它使得中国用户能够更方便地使用这款强大的工具。Rhino,全称为Rhinoceros 3D,是由McNeel公司开发的专业3D造型软件,广泛应用于工业设计、建筑设计...

    Rhinoceros犀牛6.0注册机 通用所有犀牛6.x

    Rhinoceros犀牛6.0注册机 通用所有犀牛6.x Rhinoceros犀牛6.0注册机 通用所有犀牛6.x

    犀牛JavaScript(第5版)

    犀牛JavaScript(第5版) JavaScript概述 语法结构 数据类型和值 变量 表达式和运算符 语句 对象和数组 函数 构造函数和原型 模块和名字空间 使用正则表达式的模式匹配 脚本化java 客户端 JavaScript

    犀牛,铝板,标识,展开插件

    犀牛,铝板,标识,展开插件

    rhino-结构空间建模-犀牛总结

    使用犀牛软件及Grasshopper插件实现结构快速建模经验总结

    犀牛 中文补丁文件

    犀牛 中文补丁 文件

    自动扶梯犀牛模型.3dm格式

    3dm格式犀牛模型

    犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件

    犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮...

    犀牛建模基础教程

    犀牛建模基础教程

    犀牛JavaScript第5版下

    《犀牛JavaScript第5版》是一本深受程序员喜爱的JavaScript编程指南,对于深入理解和掌握JavaScript语言具有极高的价值。本书全面覆盖了JavaScript的核心概念、语法结构以及实际应用,旨在帮助读者构建坚实的...

    Rhino犀牛模型导出skp脚本

    自己写的犀牛导出su脚本,简单易用,导出su模型的模块各自成组,各自拥有相对独立的原点,并自动整理乱线。解决了犀牛导出su的破面、原点过远问题。 具体使用方法: 1.在犀牛指令栏输入:RunPythonScript 2.选择...

    犀牛6.19和犀牛7最新安装包 --

    犀牛6.19和犀牛7最新安装包, Rhino是美国Robert McNeel & Assoc开发的PC上...不过不要小瞧它,它包含了所有的NURBS建模功能,用它建模感觉非常流畅,所以大家经常用它来建模,然后导出高精度模型给其他三维软件使用。

Global site tag (gtag.js) - Google Analytics