欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript類型系統(tǒng) Window對象學習筆記

 更新時間:2016年01月07日 08:37:23   作者:小火柴的藍色理想  
這篇文章主要介紹了javascript類型系統(tǒng)之Window對象,整理關于Window對象的學習筆記,感興趣的小伙伴們可以參考一下

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

var myStringVar = 'myString';
var myFunctionVar = function(){};
console.log('myStringVar' in window);//true
console.log('myFunctionVar' in window);//true
 

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附帶一些預定義函數(shù),被認為是window對象的方法

1)、編碼方法

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

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

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

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

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

  ES3中反對escape()的使用,并建議用encodeURI和encodeURIComponent代替,不過escape()依然被廣泛的用于cookie的編碼,因為escape()恰好編碼了cookie中的非法字符并且對路徑中常出現(xiàn)的“/”不進行編碼。escape()的不編碼字符有69個:

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

decodeURIComponent():解碼encodeURIComponent()

unescape():解碼escape()

var uri = "http://www.wrox.com/illegal value.htm#start";
console.log(encodeURI(uri));//http://www.wrox.com/illegal%20value.htm#start
console.log(encodeURIComponent(uri));//http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.htm%23start
console.log(escape(uri));//http%3A//www.wrox.com/illegal%20value.htm%23start
var uri = 'http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.htm%23start';
console.log(decodeURI(uri));//http%3A%2F%2Fwww.wrox.com%2Fillegal value.htm%23start
console.log(decodeURIComponent(uri));//http://www.wrox.com/illegal value.htm#start
console.log(unescape(uri));//http://www.wrox.com/illegal value.htm#start

eval()

  eval()方法像一個完整的ECMAScript解析器,只接受一個參數(shù),即要執(zhí)行的JavaScript字符串。當解析器發(fā)現(xiàn)代碼中調用eval()方法時,它會將傳入的參數(shù)當作實際的ECMAScript語句來解析,然后把執(zhí)行結果插入到原位置。eval()方法能夠解釋字符串的能力非常強大,但也非常危險。當用它執(zhí)行用戶輸入數(shù)據(jù)時,可能會有惡意用戶輸入威脅站點或應用程序字符的代碼,就是所謂的代碼注入

  [注意]在嚴格模式下,外部訪問不到eval()中創(chuàng)建的任何變量或函數(shù),為eval賦值也會導致錯誤 

2)、數(shù)字方法

  Window對象下還有isFinite()、isNaN()、parseFloat()、parseInt()這四個關于數(shù)字的方法

以上就是本文的全部內容,希望對大家的學習有所幫助。

相關文章

  • 原生js實現(xiàn)新聞列表展開/收起全文功能

    原生js實現(xiàn)新聞列表展開/收起全文功能

    本文主要介紹了原生js實現(xiàn)新聞列表展開/收起全文功能的知識要點、注意事項以及完整代碼。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • Javascript的爺孫通信和組件自調用詳解

    Javascript的爺孫通信和組件自調用詳解

    這篇文章主要為大家詳細介紹了Javascript的爺孫通信和組件自調用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • JavaScript雙向鏈表實現(xiàn)LRU緩存算法的示例代碼

    JavaScript雙向鏈表實現(xiàn)LRU緩存算法的示例代碼

    本文主要介紹了JavaScript雙向鏈表實現(xiàn)LRU緩存算法的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 利用Javascript實現(xiàn)BMI計算器

    利用Javascript實現(xiàn)BMI計算器

    BMI指數(shù)計算器相信大家都用過,那用JavaScript怎么實現(xiàn)呢?其實很簡單,這篇文章給出了實例代碼,有需要的可以參考學習。
    2016-08-08
  • JS表格的動態(tài)操作完整示例

    JS表格的動態(tài)操作完整示例

    這篇文章主要介紹了JS表格的動態(tài)操作,結合完整實例形式詳細分析了JavaScript針對表格元素的動態(tài)修改與刪除簡單操作技巧,需要的朋友可以參考下
    2020-01-01
  • JavaScript中防止微信瀏覽器被整體拖動的方法

    JavaScript中防止微信瀏覽器被整體拖動的方法

    這篇文章主要介紹了JavaScript中防止微信瀏覽器被整體拖動的方法,需要的朋友可以參考下
    2017-08-08
  • javascript 異步的innerHTML使用分析

    javascript 異步的innerHTML使用分析

    利用innerHTML代替createElement來動態(tài)添加網頁內容已成為一種普遍的認識。但在商務應用,大數(shù)據(jù)的datagrid屢見不鮮,就算是innerHTML也捉襟見肘,于是人們又開發(fā)了分時加載的技術了(利用setTimeout)。
    2009-12-12
  • 如何在CocosCreator里畫個炫酷的雷達圖

    如何在CocosCreator里畫個炫酷的雷達圖

    這篇文章主要介紹了如何在CocosCreator里畫個炫酷的雷達圖,對Graphics感興趣的同學,一定要看看,并且把代碼實踐一下
    2021-04-04
  • 詳釋JavaScript執(zhí)行環(huán)境與執(zhí)行棧

    詳釋JavaScript執(zhí)行環(huán)境與執(zhí)行棧

    一句話就可以概括:代碼 ( 包括函數(shù) ) 執(zhí)行時所需要的所有信息就是執(zhí)行環(huán)境。由于 ES 歷經多個版本,所以執(zhí)行環(huán)境的標準也一直在變。文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • JavaScript實現(xiàn)鼠標經過表格行給出顏色標識

    JavaScript實現(xiàn)鼠標經過表格行給出顏色標識

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)鼠標經過表格行給出顏色標識,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04

最新評論