书中用铁路图来描述语法
特意看了维基百科的连接,总结下Syntax_diagram的规则:
- 从左边开始,沿着轨道到右边界
- 沿途在圆框中遇到的是字面量,方框中遇到的是规则和描述
- 沿着轨道能走通的都是合法的
- 任何沿着轨道不能走通的都是非法的
- 末端有一条竖线的标示允许在任意一对符号中间插入空白,而在末端有两个竖条不允许。
在维基百科的连接:http://en.wikipedia.org/wiki/Syntax_diagram
关于注释:/* */存在一些安全隐患建议使用//注释
开头字母,后面跟字母、数字、下划线,不能使用保留字
只有一个数字类型。在内部表示为64位浮点数。没有分理出整型,so 1和1.0的值是相同的
指数的表示100表示为1e2
NaN是一个数值,表示一个不能产生正常结果的运算,可以用函数isNaN(number)来检测NaN
数字拥有方法。javascript有一个对象Math,它包含一套作用于数字的方法。
例如:Math.floor(number)把一个数字转换成整数
javascript中所有的字符都是16位的,被包含在一对“”或‘’之间,可能包括0个或多个字符。
\代表转义字符,它允许正常情况下不被允许的字符集插入到字符串
例如:\u约定用来指定数字字符编码“A” === “\u0041” \b backspace \n newline
有length属性“seven”.length 是5
可以用+运算符连接字符串,来创建新字符串
字符串也有方法例如:‘cat’.toUpperCase() === 'CAT'
var 语句被用在函数内部时,它定义的是函数的私有变量
switch,while,for,do允许有一个可选的前置标签(label)它配合break使用
语句通常按照从上到下的顺序执行,javascript可以通过条件语句(if 和switch)、循环语句(while,for,do)、强制跳转语句(break、return、throw)和函数调用来改变执行顺序
代码块是包含在{}中的一组语句,javascript的代码块不会新建作用域,因此变量应该定义在函数的头部下面的值被当做假:
false
null
undefined
‘’
0
NaN
其他都是真,包括true、‘false’,以及所有的对象
for语句有两种形式
第一种由三个可选从句控制:初始化从句(initialization)、条件从句(condition)、增量从句(increment)
执行顺序:首先执行condition,他的作用通常是初始化循环变量,接着计算condition的值,如果condition被省略掉,则假定返回的是真。如果condition为假终止循环。否则,执行代码,然后执行increment,接着重复执行condition
另一种形式(for in)会枚举一个对象的所有属性名(或键名)。在每次循环中,object的下一个属性名字符串被赋值给variable。
通常要检测object.hasOwnProperty(variable)来确定属性名是该对象的成员,还是来自于原型链
try、catch、throw
try语句执行一个代码块,并捕获该代码块抛出的任何异常。catch从句定义一个新的variable来接收抛出的异常对象。
throw语句抛出一个异常,如果throw语句在一个try代码块中,那么控制流会跳转到catch从句中。
如果throw语句在函数中,则该函数调用被放弃,控制流跳转到调用该函数的try语句的catch从句
throw语句中的表达式通常是一个对象字面量,他包含一个name属性和一个message属性。异常捕获器可以根据这些信息决定该做什么。
变量
内置的值
new开头的表达式
delete开头的属性提取表达式
包在圆括号中的表达式
前置运算符+表达式
表达式后面+
- 一个中置预算符与另一个表达式
- ?表达式1:表达式2
- 函数调用
- 属性提取表达式
运算符的优先级
. [] ()
delete new typeof + - !
* / %
+ -
>= <= > <
=== !==
&&
||
?:
对运算符的解释:
typeof运算符产生的值包括:‘number’、‘string’、‘boolean’、‘undefined’、‘function’、‘object’
&&如果第一个运算符的值为假,产生第一个运算符的值,否则产生第二个运算符的值
||如果第一个运算符的值为真,产生第一个运算符的值,否则产生第二个运算符的值
函数的调用运算符是跟随在函数名后面的括号
()或(expression,expression,……)
属性提取
.name或[expression]
对象字面量 是一种可以方便的按指定规格创建新对象的表示法。
属性名可以是标识符或字符串。这些名字被当做字面量名而不是函数名对待,所以对象的属性名在编译的时候才能知道。属性的值就是表达式。数字字面量 是一种可以方便的按指定规格创建新数组的表示法。
函数字面量
函数字面量定义了函数的值。
它可以有一个可选的名字,用于递归调用自己。可以指定一个参数列表,这些参数就像变量一样在调用时由实际参数初始化,函数体包括变量定义的语句
- 大小: 189.3 KB
分享到:
相关推荐
《JavaScript语言精粹》这本书是深入理解这一语言的宝贵资源,它涵盖了JavaScript的核心概念和技术,旨在帮助读者掌握这门语言的精髓。 在描述中提到的"JavaScript语言精粹 包含pdf 与 epub"表明,这本书提供了两种...
本书通过对JavaScript语言的分析,甄别出好的和坏的特性,从而提取出相对这门语言的整体而言具有更好的可靠性、可读性和可维护性的JavaScript的子集,以便你能用它创建真正可扩展的和高效的代码。 雅虎资深...
《JavaScript语言精粹》是一本深受开发者欢迎的权威书籍,旨在深入探讨JavaScript这门重要的编程语言,帮助初学者和有经验的程序员掌握其核心概念和最佳实践。这本书以中文高清PDF的形式提供,使得读者可以方便地...
这本书《JavaScript语言精粹》无疑是深入理解和掌握这门语言的重要参考资料。它旨在帮助开发者掌握JavaScript的核心概念,提高编程技能,并理解如何写出高效、可维护的代码。 《JavaScript语言精粹》可能会涵盖以下...
JavaScript语言精粹_修订版.pdf
在《JavaScript 精粹》一书中,作者深入探讨了JavaScript的特性和最佳实践,旨在帮助开发者区分和利用其精华部分,同时避免那些可能会引起问题的鸡肋特性。 首先,JavaScript的某些特性带来了麻烦,因为其规范的不...
《JavaScript语言精粹 修订版》是一本深受前端开发者喜爱的经典教材,专注于讲解JavaScript的核心概念和最佳实践。这本书深入浅出地介绍了JavaScript的精髓,帮助读者掌握这门强大的脚本语言,尤其对于前端开发人员...
"JavaScript语言精粹_修订版【高清】带书签 PDF"是一本专门为JavaScript初学者和进阶者编写的指南,旨在帮助读者深入理解并掌握这种强大的脚本语言。 该书修订版可能包含对原版内容的更新和优化,以适应不断发展的...
JavaScript语言精粹修订版pdf是许多朋友都在寻找的一款学习资料,在这里能够为您详细的介绍JS这门计算机语言,作者从语法、对象、函数、继承、数组、正则表达式、方法、样式和优美的特性这9 个方面来呈现这门语言...
"JavaScript语言精粹_修订版带书签.pdf" 这本书是开发者深入理解JavaScript语法、特性及最佳实践的重要参考资料。书中的修订版意味着它包含了最新的更新,以适应JavaScript语言的不断发展。 JavaScript最初由...
javascript 语言精粹 javascript on ppk
这篇“web学习笔记——javascript基础”将带你走进JavaScript的世界,理解其基本概念和常用语法。 JavaScript语法基础: 1. 变量:在JavaScript中,变量用于存储数据。声明变量使用`var`关键字,例如`var myVar = ...
JavaScript 语言精粹是学习这一重要编程语言的基础资源,涵盖了从基本语法到高级特性的全面内容。这本书包含了中文和英文两个版本,方便不同语言背景的学习者参考。 首先,我们要理解JavaScript的基础知识,包括...
《JavaScript语言精粹(修订版)》是JavaScript编程领域的一部经典著作,由知名的JavaScript专家Douglas Crockford撰写。这本书深入浅出地探讨了JavaScript的核心特性,旨在帮助读者掌握这门语言的精髓,提高编程...