国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS Q&A

URLOS / 1225人閱讀

摘要:系統內部會自動調用函數。因此除了以下五個值,其他都是自動轉為。空字符串自動轉換為字符串遇到預期為字符串的地方,就會將非字符串的值自動轉為字符串。字符串的自動轉換,主要發生在字符串的加法運算時。

URL后面#號是代表什么?

# 代表頁面中的某個位置,也稱為地址hash值

#XX 作用當前可視區域移動到頁面xx位置

# 僅對瀏覽器起作用,對服務器無用,所以HTTP請求不包括#(#之后的字符都不會被發送到服務器端。)

改變#不觸發網頁重載

改變#會改變瀏覽器的訪問歷史

如何獲取URL中#號的值?

使用window.location.hash這個屬性可讀可寫

如何監聽URL中#號值的變化

onhashchange事件(IE8+、Firefox 3.6+、Chrome 5+、Safari 4.0+支持該事件。)

</>復制代碼

  1. window.addEventListener("hashchange", function(){
  2. var hash = window.location.hash.slice(1);
  3. });
瀏覽器中的localStorage如何存取?

localStorage存值

</>復制代碼

  1. localStorage.setItem(key,val);

localStorage取值

</>復制代碼

  1. var data = localStorage.getItem(key);
傳統表單提交前的數據校驗如何實現?

使用表單提交事件onSubmit,返回ture,表單繼續提交,返回false,表單終止提交

</>復制代碼

  1. {$lang.label_username}
    {$lang.label_password}
  2. {$lang.comment_captcha}
  3.  
  4. 找回密碼:(密碼問題 郵件 短信驗證

</>復制代碼

  1. function userEdit()
  2. {
  3. var frm = document.forms["formEdit"];
  4. var email = frm.elements["email"].value;
  5. var msg = "";
  6. var reg = null;
  7. var passwd_answer = frm.elements["passwd_answer"] ? Utils.trim(frm.elements["passwd_answer"].value) : "";
  8. var sel_question = frm.elements["sel_question"] ? Utils.trim(frm.elements["sel_question"].value) : "";
  9. if (email.length == 0)
  10. {
  11. msg += email_empty + "
  12. ";
  13. }
  14. else
  15. {
  16. if ( ! (Utils.isEmail(email)))
  17. {
  18. msg += email_error + "
  19. ";
  20. }
  21. }
  22. if (passwd_answer.length > 0 && sel_question == 0 || document.getElementById("passwd_quesetion") && passwd_answer.length == 0)
  23. {
  24. msg += no_select_question + "
  25. ";
  26. }
  27. for (i = 7; i < frm.elements.length - 2; i++) // 從第七項開始循環檢查是否為必填項
  28. {
  29. needinput = document.getElementById(frm.elements[i].name + "i") ? document.getElementById(frm.elements[i].name + "i") : "";
  30. if (needinput != "" && frm.elements[i].value.length == 0)
  31. {
  32. msg += "- " + needinput.innerHTML + msg_blank + "
  33. ";
  34. }
  35. }
  36. if (msg.length > 0)
  37. {
  38. alert(msg);
  39. return false;
  40. }
  41. else
  42. {
  43. return true;
  44. }
  45. }
數據類型轉換規則

自動轉換為布爾值

</>復制代碼

  1. JavaScript 遇到預期為布爾值的地方(比如if語句的條件部分),就會將非布爾值的參數自動轉換為布爾值。系統內部會自動調用Boolean函數。

因此除了以下五個值,其他都是自動轉為true。

</>復制代碼

  1. undefined
  2. null
  3. 0
  4. NaN
  5. ""(空字符串)

自動轉換為字符串

</>復制代碼

  1. JavaScript 遇到預期為字符串的地方,就會將非字符串的值自動轉為字符串。具體規則是,先將復合類型的值轉為原始類型的值,再將原始類型的值轉為字符串。

字符串的自動轉換,主要發生在字符串的加法運算時。當一個值為字符串,另一個值為非字符串,則后者轉為字符串。

</>復制代碼

  1. "5" + 1 // "51"
  2. "5" + true // "5true"
  3. "5" + false // "5false"
  4. "5" + {} // "5[object Object]"
  5. "5" + {a:12} // "5[object Object]"
  6. "5" + [] // "5"
  7. "5" + [1,2] // "51,2"
  8. "5" + function (){} // "5function (){}"
  9. "5" + undefined // "5undefined"
  10. "5" + null // "5null"

自動轉換為數值

</>復制代碼

  1. JavaScript 遇到預期為數值的地方,就會將參數值自動轉換為數值。系統內部會自動調用Number函數。

除了加法運算符(+)有可能把運算子轉為字符串,其他運算符都會把運算子自動轉成數值。

</>復制代碼

  1. "5" - "2" // 3
  2. "5" * "2" // 10
  3. true + 3 // 4
  4. true - 1 // 0
  5. false - 1 // -1
  6. "1" - 1 // 0
  7. "5" * [] // 0
  8. false / "5" // 0
  9. "abc" - 1 // NaN
  10. null + 1 // 1
  11. undefined + 1 // NaN
  12. // 對象 -> NaN
  13. // 數組
  14. 1、空數組 -> 0
  15. 2、只有一個元素數組(數值) -> 數值
  16. 3、只有一個元素數組(數值字符串) -> 數值
  17. 4、多個元素數組 -> NaN
  18. // 函數 -> NaN

</>復制代碼

  1. 注意:null 轉為數值時為 0,而 undefined 轉為數值時為 NaN
比較運算(==) - 數據類型轉換

</>復制代碼

  1. 記住特例:
    null == underfined (true)
    null == null (true)
    underfined == underfined (true)
    NaN == NaN (false)
    除了上面這2種要記住,只有存在null、underfined、NaN其中一個,比較都是返回fasle
    ==兩邊值類型相同時,無需轉換,不同時,自動轉換(全轉成數值類型)

</>復制代碼

  1. // 當比較的數據類型相同時
  2. Number / String / Boolean ---> true
  3. 對象 / 數組 / 函數 ---> false
  4. null / underfined ---> true
  5. // 當比較的數據類型不相同時(轉成數值類型Number)
  6. 一邊是Number / String / Boolean,另一邊是null / underfined 都為false
JS數組也可以存非數值Key

最開始認識的JS數組

</>復制代碼

  1. var arr = ["234",123,{"name":"xiaoming"},ture];
  2. // 修改
  3. arr[0]="Opel";

最后發現JS數組也可以像PHP數組一樣,可以存key

</>復制代碼

  1. var array = new Array();
  2. array["first"] = "my";
  3. array["second"] = "name";
  4. array["third"] = "is";
  5. var arr = [];
  6. arr["first"] = "my";
  7. arr["second"] = "name";
  8. arr["third"] = "is";
  9. // 打印出數組:["first":"my","second":"name","third":"is"]
  10. // 使用如下:
  11. array["first"]

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/88339.html

相關文章

  • 大型網站性能監測、分析與優化常見問題Q&amp;A

    摘要:后端和移動性能優化需要的時間較長,出成果較慢。大型網站上,一般通過什么方式監控性能的用戶端主要是真機監測監測,都屬于真實用戶監測。目前主要有以下兩種類型,,最終用戶性能監測。,,真實用戶性能監測。 showImg(https://segmentfault.com/img/bVAbWm);@tanwen110 (唐文),曾負責騰訊四大平臺之一網絡媒體平臺的整體運維、運營規劃工作;曾任百度...

    Lavender 評論0 收藏0
  • vuejs Q&amp;A

    摘要:主要特性模板渲染響應式雙向數據綁定組件化開發路由虛擬好處初始視圖沒有優勢,反而中間多了一層虛擬,所以性能沒有提高更新視圖優勢明顯減少重復生成與刪除操作,減少查詢定位元素的操作,能修改操作完成的就絕不使用生成與刪除來操作腳手架是什么有什么作 vuejs主要特性? 模板渲染 響應式雙向數據綁定 組件化開發 路由 虛擬DOM好處? 初始視圖沒有優勢,反而中間多了一層虛擬DOM,所以性能...

    wuaiqiu 評論0 收藏0
  • JavaScript樹結構深度優先算法

      什么是樹  現實中樹隨處可見;在計算機世界,樹就是一種分層結構的抽象模型。  如下圖所示:  樹結構的可以用在很多情景,就如下圖公司的組織架構,用樹就可以表達出來,如下圖:  組織架構只是其中之一,比如族譜、省市等用樹的結構形式展現是完全可以。  樹的術語  樹有很多的術語,如下圖:  樹:n(n≥0)個節點所構成的有限集合,當n=0時,稱為空樹;  節點的度:節點的子樹個數,例如B節點的度就...

    3403771864 評論0 收藏0
  • 前端筆記——JS基礎(原型&amp;&amp;原型鏈)

    摘要:基礎原型原型鏈構造函數默認有這一行張三李四構造函數擴展其實是的語法糖其實是的語法糖其實是使用判斷一個函數是否是一個變量的構造函數原型規則和示例所有的引用類型數組對象函數,都具有對象屬性即可自有擴展的屬性,除外所有的引用類型數組對象函數, JavaScript基礎 —— 原型&&原型鏈 構造函數 function Foo(name, age) { this.name = na...

    n7then 評論0 收藏0
  • 通過JavaScript實現撲克牌游戲的示例代碼

      我們說下想要實現,一副牌里有54張,我們可以知道 3 - 2 的牌總共有13張,這分為4個花色是 ?? ?? ?? ?? 另外加上2個大小王!第一步:形成一個數組, 就要寫一個函數,利用牌數量和花色,這樣可以用來形成一個雙重循環將 number 里面的內容 和 flower 里面的內容 進行一個循環嵌入?最后在用 push 生成一個對象放到數組的后面?再到最后放入 大小王 。  constnu...

    3403771864 評論0 收藏0

發表評論

0條評論

URLOS

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<