首頁  >  文章  >  web前端  >  javascript window物件參考、特徵、屬性、方法詳解

javascript window物件參考、特徵、屬性、方法詳解

伊谢尔伦
伊谢尔伦原創
2017-07-26 11:04:412024瀏覽

window物件是Web瀏覽器中javascript的一個終極兜底兒對象,在作用域中處於最末端,是一個包含所有物件的物件。所有在全域作用域中定義的屬性和函數都是window物件的屬性

1、引用

  通常有兩種引用window對象的方法。第一種是簡單引用賦予window物件的名稱;第二種是在全域作用域中使用this關鍵字


#
var foo ='bar';
windowRef1 = window;
windowRef2 = this;
console.log(windowRef1,windowRef2);//输出window对象的引用
console.log(windowRef1.foo,windowRef2.foo);//'bar' 'bar'

2、特性

  window物件是隱式的,通常不明確引用;即使window物件明確聲明,它也是隱式的,因為window物件在作用域鏈中是最後一個


//window.alert()和alert()语句基本上是相同的
var foo = {//window对象在这里是隐式的,window.foo
 fooMethod: function(){
  alert('foo' + 'bar');//window对象在这里是隐式的,window.alert
  window.alert('foo' + 'bar');//显式调用window对象,效果一样
 }
}
foo.fooMethod();//window对象在这里是隐式的,window.foo.fooMethod()

3、屬性
  window物件共有18個屬性


undefined NaN Infinity 
Boolean String Number Object Array Function Date RegExp 
Error EvalError RangeError ReferenceError SyntaxError TypeError URIError

#[注意]禁止給undefined、NaN和Infinity賦值

 4、方法

  Javascript附帶一些預定義函數,被認為是window物件的方法

1)、編碼方法

encodeURI():對整個URI進行編碼,用特殊的UTF -8替換所有無效的字元

encodeURI()的不編碼字元有82個:

! # $ & ' ( ) * + , - . / : ; = ? @ _ ~ 0-9 a-z A-Z
#encodeURIComponent():對URI的某一段進行編碼(常用於GET方法傳遞參數),用特殊的UTF-8替換所有無效的字元

  一般來說,使用encodeURIComponent()比encodeURI()要多,因為在實踐中更常見的是查詢字串參數而不是對基礎URI編碼。 encodeURIComponent()的不編碼字元有71個:

!  ' ( ) * - . _ ~ 0-9 a-z A-Z
#escape():對字串進行編碼,將字元的unicode編碼轉化為16進位序列

  ES3中反對escape()的使用,並建議用encodeURI和encodeURIComponent代替,不過escape()依然被廣泛的用於cookie的編碼,因為escape()恰好編碼了cookie中的非法字元並且對路徑中常出現的「/」不進行編碼。 escape()的不編碼字元有69個:

* + - . / @ _ 0-9 a-z A-Z
## decodeURI():

解碼encodeURI()#decodeURIComponent():

解碼encodeURIComponent()

解碼encodeURIComponent()

解碼encodeURIComponent()

unescape():

解碼escape()eval()

###  eval()方法像一個完整的ECMAScript解析器,只接受一個參數,就是要執行的JavaScript字串。當解析器發現程式碼中呼叫eval()方法時,它會將傳入的參數當作實際的ECMAScript語句來解析,然後把執行結果插入到原始位置。 eval()方法能夠解釋字串的能力非常強大,但也非常危險。當用它執行使用者輸入資料時,可能會有惡意使用者輸入威脅網站或應用程式字元的程式碼,就是所謂的程式碼注入######  [注意]在嚴格模式下,外部存取不到eval()中所建立的任何變數或函數,為eval賦值也會導致錯誤 ############2)、數位方法############  Window物件下還有isFinite ()、isNaN()、parseFloat()、parseInt()這四個關於數字的方法###

以上是javascript window物件參考、特徵、屬性、方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn