Python JavaScript5:封閉函數(shù)和常用內(nèi)置對象

一贰军、封閉函數(shù)

  • 1.1植兰、封閉函數(shù)定義:javascript中匿名函數(shù)的另外一種寫法份帐,創(chuàng)建一個一開始就執(zhí)行而不用命名的函數(shù)

    • 一般定義的函數(shù)和執(zhí)行函數(shù):

      function myalert(){
           alert('hello!');
      };
      myalert();
      
    • 封閉函數(shù)寫法一:去掉函數(shù)名字,用括號抱起來楣导,加上小括號執(zhí)行

      (function myalert(){
          alert('hello!');
      })();
      
    • 封閉函數(shù)寫法二:可以在函數(shù)定義前加上“~”“!”等符號來定義匿名函數(shù)

      !function myalert(){
          alert('hello!');
      }()
      

      或者

      ~function myalert(){
          alert('hello!');
      }()
      
  • 1.2废境、封閉函數(shù)的好處:封閉函數(shù)可以創(chuàng)造一個獨立的空間,在封閉函數(shù)內(nèi)定義的變量和函數(shù)不會影響外部同名的函數(shù)和變量筒繁,可以避免命名沖突噩凹,在頁面上引入多個js文件時,用這種方式添加js文件比較安全毡咏,比如:

    <!DOCTYPE html>
    <html lang="en">
    <head>
       <meta charset="UTF-8">
       <title>封閉函數(shù)的好處</title>
       <script type="text/javascript">
         
           var iNum1 = 10;
           function myalter() {
               alert('hello');
           }
    
           ~function () {
    
               var iNum1 = 20;
               function myalter() {
                   alert('hello world!');
               }
    
               alert(iNum1);
                   myalter();
           }();
    
           alert(iNum1);
           myalter();
       </script>
    </head>
    <body>
    </body>
    </html>
    

    提示:我們可以看到封閉函數(shù)里面的函數(shù)myalter并不會把封閉函數(shù)外的函數(shù)myalter給屏蔽掉

二驮宴、常用內(nèi)置對象

  • 2.1、document

    • 通過 id 獲取元素

      document.getElementById 
      
    • 通過 標簽名 獲取元素

      document.getElementsByTagName 
      
    • 獲取 上一個跳轉(zhuǎn)頁面的地址 (需要服務(wù)器環(huán)境)

      document.referrer
      
  • 2.2呕缭、location

    • 獲取或者重定url地址

      window.location.href
      
    • 獲取地址參數(shù)部分

      window.location.search
      

      如下例子:

      <script type="text/javascript">
           window.onload = function () {
               // 根據(jù)id獲取一個按鈕的標簽
               var oButton = document.getElementById('button1');
               var aData = window.location.search;
      
               if (aData != ''){
                    alert(aData.split('='));
               }
           }
      </script>
      
    • 獲取頁面錨點或者叫哈希值

      window.location.hash
      
  • 2.3堵泽、Math 對象

    • Math.random之能獲取0-1的隨機數(shù),不包括 1

      alert(Math.random());
      
    • Math.floor 向下取整: 結(jié)果是:3

      alert(Math.floor(3.4));  
      
    • Math.ceil 向上取整: 結(jié)果是:4

      alert(Math.ceil(3.4));
      

      提示:向上或者向下取值是 沒有四舍五入

  • 2.4恢总、舉例:生成 10-20之間的隨機數(shù)

    <!DOCTYPE html>
    <html lang="en">
    <head>
         <meta charset="UTF-8">
         <title>生成10到20的隨機數(shù)</title>
         <script type="text/javascript">
              var iNum1 = 10;
              var iNum2 = 20;
              var array2 = [];
              for(var i=0;i<20;i++){
                    // 生成10-20之間的隨機數(shù)
                    var iNum02 = Math.floor((iNum2-iNum1+1)*Math.random()) + iNum1;
                    array2.push(iNum02);
              }
              console.log(array2);
        </script>
    </head>
    <body>
    </body>
    </html>
    

    打印結(jié)果: 15迎罗、20、11片仿、16纹安、18、20砂豌、20厢岂、20、18奸鸯、16咪笑、17、20娄涩、12窗怒、14、13蓄拣、11扬虚、17、17球恤、17辜昵、13

三、調(diào)試 js 的方法

  • 3.1咽斧、alter 調(diào)試比較直觀

    var iNum1 = 10;
    alert(iNum1);
    
  • 3.2堪置、console.log 在數(shù)據(jù)較多的時候可以直接展示出來躬存,打印出來查看比較方便,比如上面的打印一個數(shù)組

    console.log(array2);
    
  • 3.3舀锨、document.tittle 可以直接顯示在網(wǎng)頁的標題上岭洲,如下

    document.title = "測試";
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市坎匿,隨后出現(xiàn)的幾起案子盾剩,更是在濱河造成了極大的恐慌,老刑警劉巖替蔬,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件告私,死亡現(xiàn)場離奇詭異,居然都是意外死亡承桥,警方通過查閱死者的電腦和手機驻粟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來快毛,“玉大人格嗅,你說我怎么就攤上這事∵氲郏” “怎么了屯掖?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長襟衰。 經(jīng)常有香客問我贴铜,道長,這世上最難降的妖魔是什么瀑晒? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任绍坝,我火速辦了婚禮,結(jié)果婚禮上苔悦,老公的妹妹穿的比我還像新娘轩褐。我一直安慰自己,他們只是感情好玖详,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布把介。 她就那樣靜靜地躺著,像睡著了一般蟋座。 火紅的嫁衣襯著肌膚如雪拗踢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天向臀,我揣著相機與錄音巢墅,去河邊找鬼。 笑死,一個胖子當著我的面吹牛君纫,可吹牛的內(nèi)容都是我干的驯遇。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蓄髓,長吁一口氣:“原來是場噩夢啊……” “哼妹懒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起双吆,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎会前,沒想到半個月后好乐,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡瓦宜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年蔚万,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片临庇。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡反璃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出假夺,到底是詐尸還是另有隱情躯舔,我是刑警寧澤亡资,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響描验,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜奸柬,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一偎捎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧讳癌,春花似錦穿稳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至泡仗,卻和暖如春埋虹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背娩怎。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工搔课, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓爬泥,卻偏偏與公主長得像柬讨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子袍啡,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 第一章: JS簡介 從當初簡單的語言踩官,變成了現(xiàn)在能夠處理復雜計算和交互,擁有閉包境输、匿名函數(shù)蔗牡, 甚至元編程等...
    LaBaby_閱讀 1,673評論 0 6
  • 一、JS前言 (1)認識JS 也許你已經(jīng)了解HTML標記(也稱為結(jié)構(gòu))嗅剖,知道了CSS樣式(也稱為表示)辩越,會使用HT...
    凜0_0閱讀 2,773評論 0 8
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準信粮。 注意:講述HT...
    kismetajun閱讀 27,486評論 1 45
  • 概要 64學時 3.5學分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,208評論 0 3
  • 感恩父母的養(yǎng)育之恩黔攒。感恩通家祖宗、陳家祖宗强缘、楊家祖宗督惰、王家祖宗慈悲護佑。感恩早睡早起第329天旅掂。21:30睡覺赏胚,5...
    喜羊羊_43e1閱讀 137評論 0 3