javascript建立函數的三種方式

來源:互聯網
上載者:User

標籤:javascript

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script type="text/javascript" charset="UTF-8">/** * 函數的3種建立方法 *///1、語句式   function test(a,b){return a+b;}console.log(test(1,2));//2、直接量式var test1 = function(a,b){return a+b;}console.log(test1(3,4));//3、建構函式式var test2 = new Function('a','b','return a+b;');console.log(test2(2,4)); /** * 三種方式的解析順序 */test3();function test3(){console.log('我是test3,語句式建立的');}//test4(); //出錯,因為test4隻是被聲明為全域變數,可是還沒有賦值var test4 = function(){console.log('我是test4,直接量方式建立的');}test4();// test5(); //出錯,因為test5隻是被聲明為全域變數,可是還沒有賦值var test5 = new Function("console.log('我是test5 ,建構函式式建立的')");//解析順序和直接量方式一樣(順序解析)test5();/** *  三種方式的效率 */var d1 = new Date();var t1 = d1.getTime();for(var i=0;i<100000;i++){// function test6(){;};// 語句式其次    // var test7 = function(){;};//直接量式最快//var test8 = new Function();// 建構函式式最慢}var d2 = new Date();var t2 = d2.getTime();console.log(t2-t1);/** * 三種方式的範圍 */var k=1;//當這裡的k注釋掉時,建構函式式會報錯找不到kfunction t1(){var k=2;//function demo(){console.log(k);};// 2//var demo = function(){console.log(k)};// 2var demo = new Function('console.log(k)');// 1   建構函式式 定義的函數相當於全域,看不見函數內的k,(頂級範圍)demo();}t1();</script></head><body></body></html>

javascript建立函數的三種方式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.