JavaScript精粹读书笔记(2)
如果你想加我为好友:请点击以下链接http://hi.csdn.net/invite.php?u=8943c=759c7fc189ea23c1 第2章 语法 本章介绍 JavaScript 的精华部分的语法,并简要地概述其语言结构。 2.1 空白 空白可能表现为格式化字符或注释的形式。空白通常没有意义,但是偶尔须
如果你想加我为好友:请点击以下链接http://hi.csdn.net/invite.php?u=8943&c=759c7fc189ea23c1
第2章 语法
本章介绍JavaScript的精华部分的语法,并简要地概述其语言结构。
2.1 空白
空白可能表现为格式化字符或注释的形式。空白通常没有意义,但是偶尔须要用它来分隔字符序列,否则它们就会被合并成一个单一的符号。例如,对如下代码来说:
var that = this;
var和that之间的空格是不能被移除的,但是其他的空格都可以被移除。
JavaScript提供两种注释形式,一种是用/* */包围的块注释,另一种是以//为开头的行注释。注释应该被充分地用来提高程序的可读性。必须注意的是,注释一定要精确地描述代码。没有用的注释比没有注释更糟糕。
用/* */包围的块注释形式来自于一门叫PL/I(默然说话:Programming Language One的简写。当中的“I”其实是罗马数字的“一”,它是一种IBM公司在19世纪50年代发明的第三代高级编程语言)的语言。在JavaScript中,*/可能出现在正则表达式字面上,所以块注释对于被注释的代码块来说是不安全的。例如:
/*
var rm_a = /a*/.match(s);
*/
导致了一个语法错误。所以,我建议避免使用/* */注释,而用//注释代替它。
2.2 标识符
标识符由一个字母开头,其后可选择性地加上一个或多个字母数字或下划线。标识符不能使用下面这些保留字:
abstract
boolean break byte
case catch char class const continue
debugger default delete do double
else enum export extends
false final finally float for function
goto
if implements import in instanceof int interface
long
native new null
package private protected public
return
short static super switch synchronized
this throw throws transient true try typeof
var volatile void
while with
在这个列表中的大部分保留字尚未用在这门语言中。这个列表不包括一些本应该被保留而没有保留的字,诸如undefined、NaN和Infinity。JavaScript不允许使用保留字来命名变量或参数。更糟糕的是,JavaScript不允许在对象字面量中,或者在一个属性存取表达式的点号之后,使用保留字作为对象的属性名。
标识符被用于语句、变量、参数、属性名、运算符和标记。
2.3 数字
JavaScript只有一个单一的数字类型。它在内部被表示为64位的浮点数,和Java的double一样。在JavaScript中,1和1.0是相同的值。
如果一个数字字面量有指数部分,那么这个字面量的值是由e之前的部分乘以10的e之后部分的次方计算出来的。所以100和1e2是相同的数字。
负数可以用前缀运算符-来构成。
值NaN是一个数值,它表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它自己。你可以用函数isNaN(number)检测NaN。
值Infinity表示所有大于1.79769313486231570e+308的值。
数字拥有方法(参见第8章)。JavaScript有一个对象Math,它包含一套作用于数字的方法。例如,可以用Math.floor(number)方法将一个数字转换成一个整数。
2.4 字符串
字符串字面量可以被包围在单引号或双引号中,它可能包含0个或多个字符。/是转义字符。JavaScript在被创建的时候,Unicode是一个16位的字符集,所以JavaScript中的所有字符都是16位的。
JavaScript没有字符类型。要表示一个字符,只须创建仅包含一个字符的字符串即可。
转义字符允许把那些正常情况下不被允许的字符插入到字符串中,比如反斜线、引号和控制字符。/u约定允许指定用数字表示的字符码位。
“A”===”/u0041”
字符串有一个ength属性。例如,”seven”.length是5。
字符串是不可变的。一旦字符串被创建,就永远无法改变它。但通过+运算符去连接其他的字符串从而得到一个新字符串是很容易的。两个包含着完全相同的字符且字符顺序也相同的字符串被认为是相同的字符串。所以:
‘c’+’a’+’t’ === ‘cat’
是true。
字符串有一些方法(参见第8章)。
2.5 语句
一个编译单元包含一组可执行的语句。在web浏览器中,每个<script></script>JavaScript把它们一起抛入一个公共的全局命名空间中。附录A有更多关于全局变量的内容。
当var语句被用在函数的内部时,它定义了这个函数的私有变量。
switch、while、for和dolabel),它配合break语句来使用。
语句往往按照从上到下的顺序被执行。JavaScript可以通过条件语句(if和switch)、循环语句(while、for和do)、强制跳转语句(break、return和throw)和函数调用来改变这个执行序列。
代码块是包在一对花括号中的一组语句。不像许多其他的语言,JavaScript中的代码块不会创建一个新的作用域,因此变量应该被定义在函数的顶端,而不是在代码块中。
if语句根据表达式的值改变程序的控制流程。如果表达式的值为真,那么执行then代码块,否则,执行可选的else分支。
下面列出的值被当作假:
fase
null
undefined
数字0
数字NaN
其他所有的值都被当作真,包括true,字符串”false”,以及所有的对象。
switch语句执行一个多路分支。它把其表达式的值和所有指定的case条件进行匹配。其表达式可能产生一个数字或字符串。当找到一个精确的匹配时,执行匹配的case从句中的语句。如果没有找到任何匹配,则执行可选的default语句。
一个case从句包含一个或多个case表达式。case表达式不一定必须是常量。为了防止继续执行下一个case,case语句后应该跟随一上强制跳转语句。你可以用break语句去退出一个switch语句。
while语句执行一个简单的循环。如果表达式值为假,那么循环将终止。而当表达式值为真时,代码块将被执行。
for语句是一个结构更复杂的循环语句。它有两种形式。
常见的形式由三个可选从句控制:初始化从句(initialization)、条件从句(condition)和增量从句(increment)。首先,;初始化从句被执行,它的作用通常是初始化循环变量。接着计算条件从句的值。典型的情况是它根据一个完成条件检测循环变量。如果条件从句被省略掉,则假定返回的条件是真。如果条件从句的值为假,那么循环将终止。否则,执行代码块,然后执行增量从句,接着循环会重复执行条件从句。
另一种形式(被称为for in语句)会枚举一个对象的所有属性名(或键名)。在每次循环中,对象的另一个属性名字符串被赋值给for和in之间的变量。
通常你须通过检测object.hasOwnProperty(variable)来确定这个属性名就是该对象的成员,还是从其原型链里找到的。
for(myvar in obj){
if(obj.hasOwnProperty(myvar)){
…
}
}
do语句就像while语句,唯一的区别是它在代码块执行之后而不是之前检测表达式的值。这就意味着代码块将总是要执行至少一次。
try语句执行一个代码块,并捕获该代码块抛出的任何异常。catch从句定义了一个新的变量,它将接收该异常对象。
throw语句抛出一个异常。如果throw语句在一个try代码块中,那么控制权会跳到catch从句中。如果throw语句在函数中,则该函数调用被放弃,且控制权会跳到调用该函数的try语句的catch从句中。
throw语句中的表达式通常是一个对象字面量,它包含一个name属性和一个message属性。异常捕获器可以使用这些信息去决定该做什么。
return语句会使一人函数提前返回。它也可以指定要被返回的值。如果没有指定返回表达式,那么其返回值是undefined。
JavaScript不允许在return关键字和表达式之间换行。
break语句会使程序退出一个循环语句或switch
JavaScript不允许在break
一个expression语句可以给一个或多个变量或成员赋值,或者调用一个方法,或者从对象中删除一个属性。运算符=被用于赋值。不要把它和恒等运算符===混淆。运算符+=可以用于加法运算或连接字符串。
2.6 表达式
三元运算符?有三个运算数。如果第一个运算数值为真,它产生第二个运算数的值。但是,如果第一个运算数为假,它会产生第三个运算数的值。
表2-1:运算符优先级
.[]() |
属性存取及函数调用 |
delete new typeof +-! |
一元运算符 |
*/% |
乘法、除法、取模 |
+- |
加法/连接、减法 |
>= |
不等式运算符 |
=== !== |
等式运算符 |
&& |
逻辑与 |
|| |
逻辑或 |
?: |
三元 |
typeo运算符产生的值有’number’、’string’、’boolean’、’undefined’、’function’、’object’。如果运算数是一个数组或null,那么结果是’object’,这是不对的。第6章和附录A将会有更多关于typeof的内容。
/运算符可能会产生一个非整数结果,即使两个运算数都是整数。
函数调用引发函数的执行。函数调用运算符是跟随在函数名后面的一对圆括号。圆括号中可能包含将会传递给这个函数的参数。第4章将会有更多关于函数的内容。
一个属性存取表达式用于指定一个对象或数组的属性或元素。下一章我将详细描述它。
2.7 字面量
对象字面量是一种方便指定新对象的表示法。属性名可以是标识符或字符串。这些名字被当作字面量名而不是变量名来对待,所以对象的属性名在编译时才能知道。属性的值就是表达式。下一章将会有更多关于对象字面量的信息。
数组字面量是一个方便指定新数组的表示法。第6章将会有更多关于数组字面量的内容。
第7章将会有更多关于正则表达式的内容。
函数字面量定义了函数值。它可以有一个可选的名字,用于递归地调用自己。它可以指定一个参数列表,这些参数将作为变量由调用时传递的实际参数(arguments)初始化。函数的主体包括变量定义和语句。第4章将会有更多关于函数的内容。
如果你想加我为好友:请点击以下链接http://hi.csdn.net/invite.php?u=8943&c=759c7fc189ea23c1

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

小紅書筆記怎麼刪除?在小紅書APP中是可以編輯筆記的,多數的用戶不知道小紅書筆記如何的刪除,接下來就是小編為用戶帶來的小紅書筆記刪除方法圖文教程,有興趣的用戶快來一起看看吧!小紅書使用教學小紅書筆記怎麼刪除1、先打開小紅書APP進入到主頁面,選擇右下角【我】進入到專區;2、之後在我的專區,點擊下圖所示的筆記頁面,選擇要刪除的筆記;3、進入到筆記頁面,右上角【三個點】;4、最後下方會展開功能欄,點選【刪除】即可完成。

在使用WPS中的word時常常也需要插入圖片、表格等,但是插入的表格不居中就會影響整個文件的美觀程度,那麼WPS表格居中該怎麼進行設定呢?今天就來教各位小夥伴們是如何進行調整的,具體的操作步驟如下,小夥伴們快來看看! 1.如圖的表格沒有在頁面的中間,不太美觀,想讓其居中。 2.先在表格中點選滑鼠右鍵(如圖)。 3.再點選右鍵選單中的【全選表格】(如圖紅色箭頭處所示)。 4.點選後,該表格就處於被全選的狀態(如下圖所示)。 5.此時點選開啟wps文字的【開始】選項卡(如圖紅色箭頭出所示)。 6、點

你們在辦公中是否也在使用AdobeAcrobatPro9軟體?不過你們知道AdobeAcrobatPro9怎麼插入圖片嗎?下文小編就為大夥帶來了AdobeAcrobatPro9插入圖片的方法,感興趣的一同來下文看看吧。在AdobeAcrobatPro9中開啟Sample.pdf文檔,點開文檔右邊的“工具”-“內容”-選擇“編輯對象”,滑鼠遊標變成實心箭頭+右下角小方框。右鍵單擊文件空白處,然後選擇“插入圖像”。一個對話框會彈出,接著在對話框中選擇ElenaGilbert.JPEG影像檔(請確

不少用戶在選購一款手錶和手環的時候都會比較糾結是買小米手環8pro還是華為手環8,二者之間的區別也是有不同的,如果你更看重體驗,那麼可以選擇小米,如果你更重視健康監測,那麼可以選擇華為。小米手環8pro和華為手環8哪個好答:具體看需求。小米手環8pro:適合喜歡豐富的運動模式和更好的兼容性,以及有著接近手錶的螢幕顯示和顏值。華為手環8:更重視健康監測數據,也更重視無感覺的配戴體驗。當然還有一點就是,如果你的小米設備比較多,那麼還是優先選擇小米手環,如果你有華為手機,那就選擇華為手環。小米手環8P

作為一名小紅書的用戶,我們都曾經遇到過發布過的筆記突然不見了的情況,這無疑讓人感到困惑和擔憂。在這種情況下,我們該怎麼辦呢?本文將圍繞著「小紅書發布過的筆記不見了怎麼辦」這個主題,為你詳細解答。一、小紅書發布過的筆記不見了怎麼辦?首先,不要驚慌。如果你發現筆記不見了,保持冷靜是關鍵,不要慌張。這可能是由於平台系統故障或操作失誤引起的。檢查發布記錄很簡單。只要打開小紅書App,點擊“我”→“發布”→“所有發布”,就可以查看自己的發布記錄。在這裡,你可以輕鬆找到之前發布的筆記。 3.重新發布。如果找到了之

大家知道MicrosoftExcel怎麼拆分單元格嗎?下文小編就帶來了MicrosoftExcel拆分單元格的方法,希望對大家能夠有所幫助,一起跟著小編來學習一下吧!1、首先打開有著合併單元格的excel表格,如下圖所示。 2、選取合併儲存格,點選頂部「合併居中」帶向下箭頭位置,如下圖所示。 3、然後去選擇“取消合併儲存格”,如下圖所示。 4.現在就可以發現儲存格被拆分了,如下圖所示。上面就是小編為大家帶來的MicrosoftExcel怎麼拆分單元格的全部內容,希望對大家能夠有所幫助哦。

小紅書怎麼在筆記中添加商品連結?在小紅書這款app中用戶不僅可以瀏覽各種內容還可以進行購物,所以這款app中關於購物推薦、好物分享的內容是非常多的,如果小夥伴在這款app也是一個達人的話,也可以分享一些購物經驗,找到商家進行合作,在筆記中添加連結之類的,很多人都願意使用這款app購物,因為不僅方便,而且有很多達人會進行一些推薦,可以一邊瀏覽有趣內容,一邊看看有沒有適合自己的衣服商品。一起看看如何在筆記中添加商品連結吧!小紅書筆記添加商品連結方法 在手機桌面上開啟app。 在app首頁點擊

紅米RedmiK70是許多用戶都在使用的機型,這款手機自從發布以來一直都保持著很不錯的口碑,擁有著超高的性價比。當然,除了性價比以外,紅米RedmiK70還有許多非常實用的功能。那麼紅米RedmiK70怎麼開啟儲存權限呢?接下來就讓小編來為大家介紹一下吧!紅米RedmiK70怎麼開啟儲存權限?要開啟紅米RedmiK70的儲存權限,你可以依照以下步驟操作:步驟一:開啟手機的設定應用程式。步驟二:向下捲動並找到“應用程式管理”或“應用程式和通知”,然後點擊進入。步驟三:在應用程式管理中,找到你想要開啟儲存權限的
