最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

弱類型語(yǔ)言javascript開發(fā)中的一些坑實(shí)例小結(jié)【變量、函數(shù)、數(shù)組、對(duì)象、作用域等】

 更新時(shí)間:2019年08月07日 10:01:17   作者:Johnny丶me  
這篇文章主要介紹了弱類型語(yǔ)言javascript開發(fā)中的一些坑,結(jié)合實(shí)例形式總結(jié)分析了javascript開發(fā)中關(guān)于變量、函數(shù)、數(shù)組、對(duì)象、作用域等相關(guān)知識(shí)點(diǎn)常見易錯(cuò)問(wèn)題,需要的朋友可以參考下

本文實(shí)例講述了弱類型語(yǔ)言javascript開發(fā)中的一些坑。分享給大家供大家參考,具體如下:

測(cè)試1: (未聲明變量自動(dòng)提升為全局變量)

test1();
function test1() {
  function setName() {
    name = '張三'; // 此處沒有var聲明,提升至全局
  }
  setName();
  console.log(name);// '張三'
}

測(cè)試2: (函數(shù)內(nèi)部局部變量的變量提升)

test2();
function test2() {
  var a = 1;
  function haha() {
    console.log(a);
    var a=1;
  }
  haha(); // undefined
}

測(cè)試3: (給window對(duì)象掛載屬性,作用域提升至全局)

test3();
function test3() {
  var b=2;
  function hehe(){
    window.b = 3; // 此時(shí)的b為全局變量的b
    console.log(b); // 此時(shí)的b是函數(shù)test3()里的b為2
  }
  hehe();
}

測(cè)試4: (變量提升,局部作用域的綜合)

test4();
function test4() {
  c = 5;
  function heihei() {
    var c;
    window.c = 3;
    console.log(c); // 函數(shù)heihei內(nèi)的c為undefined
    console.log(window.c); // 3
  }
  heihei();
}

測(cè)試5: (數(shù)組的長(zhǎng)度的問(wèn)題)

test5();
function test5() {
  var arr = [];
  arr[0] = '1';
  arr[1] = 'b';
  arr[9] = 100;
  console.log(arr.length); // 10
}

測(cè)試6: (等與全等的問(wèn)題)

test6();
function test6() {
  var a = 1;
  console.log(a++); // 1
  console.log(++a); // 3
  console.log(null == undefined); // true
  console.log(null === undefined);// false
  console.log(1 == "1"); // true
  console.log(1 === "1"); // false
  console.log(NaN === NaN) // false;
}

測(cè)試7: (類型相關(guān))

test7();
function test7() {
  console.log(typeof 1); // number
  console.log(typeof "hello"); // string
  console.log(typeof typeof "hello"); // string
  console.log(typeof !!"hello"); // boolean
  console.log(typeof /[0-9]/); // object
  console.log(typeof {}); // object
  console.log(typeof null); // object
  console.log(typeof undefined); // undefined
  console.log(typeof [1, 2, 3]); // object
  console.log(toString.call([1, 2, 3])); // [object Array]
  console.log(typeof function () {}); // function
}

測(cè)試8: (parse函數(shù)相關(guān))

test8();
function test8() {
  console.log(parseInt(3.14));// 3
  console.log(parseFloat('3.01aaa'));// 3.01
  console.log(parseInt('aa1.2'));// NaN;
  console.log(parseInt('8.00',16));// 8
  console.log(parseInt('0x8',16));// 8
  console.log(parseInt('8.00',10));// 8
  console.log(parseInt('010',8));// 10
  console.log(parseInt('1000',2));// 1000
}

測(cè)試9: (變量提升,函數(shù)提升與return后阻斷執(zhí)行)

test9();
function test9() {
  function bar() {
    return foo;
    foo = 10;
    function foo(){};
  }
  console.log(typeof bar()); // 'function'
}

測(cè)試10: (作用域與函數(shù)提升)

test10();
function test10() {
  var foo = 1;
  function bar() {
    foo = 10;
    console.log(typeof foo);
    return;
    function foo(){};
  }
  bar(); // number
  console.log(foo); // 1
}

測(cè)試11: (變量提升與函數(shù)提升)

test11();
function test11() {
  console.log(typeof a); // function
  var a = 3;
  function a(){};
  console.log(typeof a); // number
}

測(cè)試12: (arguments對(duì)象)

test12();
function test12() {
  function foo(a) {
    console.log(a);// 1
    arguments[0] = 2;
    console.log(a);// 2
    console.log(arguments.length);// 3
  }
  foo(1,3,4);
}

測(cè)試13: (中間函數(shù)名,直接使用會(huì)報(bào)錯(cuò))

test13();
function test13() {
  var foo = function bar(name) {
    console.log("hello " + name);
  }
  foo("world");
  console.log(bar); // 此處會(huì)報(bào)錯(cuò) bar is not defined
}

測(cè)試14: (在js中定時(shí)器,最后執(zhí)行,涉及到的知識(shí)點(diǎn)是事件循環(huán)和事件隊(duì)列)

test14();
function test14() {
  function foo() {
    console.log('I am foo');
  }
  console.log('正常執(zhí)行');
  setTimeout((function(){
    console.log('定時(shí)器大灰狼來(lái)啦');
  }),0);
  foo();
}

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript操作DOM技巧總結(jié)》、《JavaScript頁(yè)面元素操作技巧總結(jié)》、《JavaScript事件相關(guān)操作與技巧大全》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

彰化市| 德庆县| 谢通门县| 申扎县| 安远县| 陕西省| 盐城市| 桂东县| 玛曲县| 凉城县| 都昌县| 柯坪县| 客服| 荆州市| 龙州县| 斗六市| 囊谦县| 玉屏| 长春市| 巴彦淖尔市| 霍城县| 渝中区| 大方县| 巴青县| 龙口市| 富锦市| 公主岭市| 五大连池市| 扎鲁特旗| 富蕴县| 谷城县| 拜泉县| 隆化县| 都匀市| 东山县| 山东| 荔波县| 原平市| 兰州市| 武汉市| 沙河市|