鞏固js(一)詞法結構 保留字一

2021-09-28 23:53:04 字數 3331 閱讀 4688

break delete function return typeof

case do if switch var catch

else in this(單出乙個討論) void continue

false instanceof throw while debugger

finally new true with default

for null try

作用是刪除某一物件的屬性

具體用法:delete 物件.屬性

可以刪除沒有用var關鍵字宣告的全域性變數,因為是定義在window物件上的屬性

注:1. 關鍵字返回的為布林值,刪除成功返回true

2.刪除物件中不存在的屬性,也返回true

3.刪除物件中原型物件的屬性(不能刪除),返回true

4.無法刪除使用var宣告的全域性變數,但是卻可以刪除直接定義在window上的屬性

主要作用:從當前函式退出,並返回乙個值。

return [()[expression]]

引數:expression是要從函式返回的值。如果省略,則不返回值

可以用return語句來終止乙個函式的執行,並返回expression的值。如果expression被省略,或者函式內沒有return語句的執行,則返回undefined賦給呼叫函式的表示式

return語句表示從被調函式返回到主調函式繼續執行,返回時可附帶乙個返回值,由return語句後面的引數指定。

如果此函式不需要返回值,就需要用void宣告其型別。(如果是其他型別,就必須有返回值)

如果函式是void型,可以不寫return,但是即使寫了也是無法返回數值的

typeof判斷乙個值的數值型別,一般返回的型別有:number string boolean undefined object function

注:array,null等特殊物件使用typeof一律返回object

1.instanceof用於判斷乙個變數是否屬於某個物件的例項。

functionhi(

)var hi =

newhi()

;hi instanceof

hi//true

2.由於typeof對於某些型別的判斷不準確(無論引用的什麼型別的物件,都會返回object),instanceof也可以判斷型別。

例如:

var mystring =

newstring

(「123lallaa」)

;console.

log(mystring instanceof

string

)//true

他判斷的是mystring是否是string的例項,可以判斷此變數中的數值型別為string

3.instanceof可以在繼承關係中用來判斷乙個例項是否屬於他的父型別

function

animal()

function

dog(

)dog.prototype =

newanimal()

;//原型繼承

var dog =

newdog()

dog instanceof

dog//true

dog instanceof

animal

//true

instanceof複雜用法:涉及原型學習時再討論

參考:instanceof參考鏈結

這些用於處理**中可能出現的錯誤資訊:

try語句允許我們定義在執行時進行錯誤測試的**塊

catch語句允許我們定義當try**塊發生錯誤時,所執行的**塊

finally語句在try和catch之後無論有無異常都會執行

try

catch

finally

throw允許我們建立自定義錯誤(建立或丟擲異常)

var x = document.

getelementbyid

(「hi」)

.value;

trycatch

(err)

上面檢測變數x的值,如果符合錯誤條件,會丟擲乙個異常,catch會捕獲這個錯誤,並顯示一段自定義的錯誤資訊

瀏覽器除錯打斷點(作用等同於瀏覽器sources打斷點)

function

animal()

建立乙個使用者定義的物件型別的例項或具有建構函式的內建物件的例項

過程:1.建立乙個新的物件

2.將this指向這個空物件

3. 賦值

4.返回此物件

用於設定**在特定物件中的作用域

語法:

with(expression)statement

var a = obj.a;

var b = obj.b;

var c = obj.c;

等價於

with

(obj)

注:大量使用with會導致效能下降,不建議使用(學習了解)

prop in object

引數:

1.prop:乙個字串型別或者 symbol 型別的屬性名或者陣列索引(非symbol型別將會強制轉為字串)

2.object:檢查它(或其原型鏈)是否包含具有指定名稱的屬性的物件。

作用:判斷乙個屬性是否存在於乙個物件或者他的原型鏈上 注:

1.使用delete刪除乙個屬性,再使用in進行判斷,會返回false

2.給某一屬性賦值undefined,再使用in判斷此屬性,會返回true

3.如果乙個屬性是從原型鏈上繼承下來的,也會返回true

參考:in關鍵字參考

switch

(***)

void

function()

void可省略(沒有返回值加void)

do

while()

if()

elseif(

)else

for

(var i =

0;i<

3;i++

)

一 詞法結構

1 注釋 單行注釋 多行 注釋 2 識別符號和保留字 識別符號識別符號用來對變數和函式進行命名,或某些迴圈語句中的跳轉位置的標記,js識別符號必須以字母 下劃線 或美元符 開始,後續可以是數字 字母 下劃線 或美元符 保留字break delete function return typeof ca...

實驗一 詞法分析

1 實驗要求 1 從源程式檔案中讀取有效字元流並將其分析識別單詞符號,轉換成二元組內部表示形式輸出。2 視覺化方式展示詞法分析識別過程或者詞法分析器工作原理 選做 3 實驗時間4學時。4 實驗完成後,要提交實驗報告 包括源程式清單 2 實驗內容 2.1主程式設計考慮 主程式的說明部分為各種 和變數安...

編譯實驗 一 詞法分析

編譯原理課程即將結束,開始了在校中最麻煩的實驗,編譯實驗.同在乙個系,其他班的編譯實驗分成好幾塊,簡短的文法,源 連線 詞法分析流程圖 首先要做的第一步就是寫資料結構以及完成單詞表。詞法分析的任務就是將一段程式 分割單詞,把單詞資訊寫出來。例如在 while a 2 do a a 1 中進行詞法分析...