`
liuxiaoxi1201
  • 浏览: 4765 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

javascript语言精粹读书笔记——第二章

    博客分类:
  • js
阅读更多

书中用铁路图来描述语法

特意看了维基百科的连接,总结下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语言精粹》.pdf

    《JavaScript语言精粹》这本书是深入理解这一语言的宝贵资源,它涵盖了JavaScript的核心概念和技术,旨在帮助读者掌握这门语言的精髓。 在描述中提到的"JavaScript语言精粹 包含pdf 与 epub"表明,这本书提供了两种...

    JavaScript 语言精粹(修订版,文字版+扫描版)

    本书通过对JavaScript语言的分析,甄别出好的和坏的特性,从而提取出相对这门语言的整体而言具有更好的可靠性、可读性和可维护性的JavaScript的子集,以便你能用它创建真正可扩展的和高效的代码。 雅虎资深...

    JavaScript语言精粹 中文高清PDF

    《JavaScript语言精粹》是一本深受开发者欢迎的权威书籍,旨在深入探讨JavaScript这门重要的编程语言,帮助初学者和有经验的程序员掌握其核心概念和最佳实践。这本书以中文高清PDF的形式提供,使得读者可以方便地...

    JavaScript语言精粹.pdf.zip

    这本书《JavaScript语言精粹》无疑是深入理解和掌握这门语言的重要参考资料。它旨在帮助开发者掌握JavaScript的核心概念,提高编程技能,并理解如何写出高效、可维护的代码。 《JavaScript语言精粹》可能会涵盖以下...

    JavaScript 精粹读书笔记(1,2)

    在《JavaScript 精粹》一书中,作者深入探讨了JavaScript的特性和最佳实践,旨在帮助开发者区分和利用其精华部分,同时避免那些可能会引起问题的鸡肋特性。 首先,JavaScript的某些特性带来了麻烦,因为其规范的不...

    JavaScript语言精粹 修订版 中文高清PDF

    《JavaScript语言精粹 修订版》是一本深受前端开发者喜爱的经典教材,专注于讲解JavaScript的核心概念和最佳实践。这本书深入浅出地介绍了JavaScript的精髓,帮助读者掌握这门强大的脚本语言,尤其对于前端开发人员...

    JavaScript语言精粹_修订版【高清】带书签 PDF

    "JavaScript语言精粹_修订版【高清】带书签 PDF"是一本专门为JavaScript初学者和进阶者编写的指南,旨在帮助读者深入理解并掌握这种强大的脚本语言。 该书修订版可能包含对原版内容的更新和优化,以适应不断发展的...

    JavaScript语言精粹 修订版 pdf

    JavaScript语言精粹修订版pdf是许多朋友都在寻找的一款学习资料,在这里能够为您详细的介绍JS这门计算机语言,作者从语法、对象、函数、继承、数组、正则表达式、方法、样式和优美的特性这9 个方面来呈现这门语言...

    javascript语言精粹_修订版带书签.pdf

    "JavaScript语言精粹_修订版带书签.pdf" 这本书是开发者深入理解JavaScript语法、特性及最佳实践的重要参考资料。书中的修订版意味着它包含了最新的更新,以适应JavaScript语言的不断发展。 JavaScript最初由...

    javascript 语言精粹

    javascript 语言精粹 javascript on ppk

    web学习笔记 —— javascript基础

    这篇“web学习笔记——javascript基础”将带你走进JavaScript的世界,理解其基本概念和常用语法。 JavaScript语法基础: 1. 变量:在JavaScript中,变量用于存储数据。声明变量使用`var`关键字,例如`var myVar = ...

    javascript语言精粹(中+英文版)

    JavaScript 语言精粹是学习这一重要编程语言的基础资源,涵盖了从基本语法到高级特性的全面内容。这本书包含了中文和英文两个版本,方便不同语言背景的学习者参考。 首先,我们要理解JavaScript的基础知识,包括...

    JavaScript语言精粹(修订版)_itjsveryclever_JavaScript语言精粹(修订版)_

    《JavaScript语言精粹(修订版)》是JavaScript编程领域的一部经典著作,由知名的JavaScript专家Douglas Crockford撰写。这本书深入浅出地探讨了JavaScript的核心特性,旨在帮助读者掌握这门语言的精髓,提高编程...

Global site tag (gtag.js) - Google Analytics