<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                6、 `D` ~~~javascript 1.var a=10,b=11,c=12; 2.function test(a){ 3. a=1; //a是私有的變量 4. var b=2; 5. c=3; //全局的 6.} 7.test(10); 8.console.log(a); 9.console.log(b); 10.console.log(c); 11. 12./* 13. A、1 11 3 14. B、10 11 12 15. C、1 2 3 16. D、10 11 3 *** 17.*/ ~~~ 7、`B` ~~~javascript 1.if(!("a" in window)){ 2. var a=1; 3.} 4.console.log(a); //undefined 5. 6./* 7. A、1 8. B、undefined *** 9. C、報錯 10. D、以上答案都不對 11.*/ 全局作用下,不管條件是否成立,先申明var a ~~~ ~~~ /* * 變量提升 * var a; 不管條件是否成立都要進行變量提升, * 在全局作用域下聲明的變量,也相當于給window設置了一個對象的屬性 * 而且兩者之間建立了映射的機制 <=> window.a=undefined; */ /* * in:檢測某一個屬性是否隸屬于這個對象 * (不管是私有屬性還是公有屬性,只要有這個屬性結果就是TRUE) * hasOwnProperty:檢測某一個屬性是否為對象的私有屬性 * (只有這個屬性是私有的才可以) */ if (!("a" in window)) {//=>"a" in window =>TRUE var a = 1; } console.log(a); //undefined ~~~ 8、`D` ~~~javascript 1.var a=4; 2.function b(x,y,a) { 3. console.log(a); 4. arguments[2]=10; 5. console.log(a); 6.} 7.a=b(1,2,3); 8.console.log(a); //undefined 9. 10./* 11. A、3 3 4 12. B、3 10 4 13. C、3 10 10 14. D、3 10 undefined *** 15.*/ ~~~ ~~~ /* * 變量提升 * var a; * b = aaafff000; */ /* var a = 4; function b(x, y, a) { /!* * 形參賦值:x=1 y=2 a=3 ,x,y,a是私有變量 * 變量提升 *!/ //=>arguments:函數內置的實參集合,不管是否設置形參, 傳遞的實參值在這個集合中都存在 /!* * arguments * { * 0:1 * 1:2 * 2:3 * length:3 * callee:函數本身 * ... * } *!/ /!* * 在JS非嚴格模式下,函數中的形參變量和ARGUMENTS存在映射機制(映射:相互之間影響) * 第一個形參變量值修改為100,那么ARG[0]的值也跟著修改為100 * ARG[1]的值修改為200,那么第二個形參變量Y的值也會跟著變為200 * ... *!/ console.log(a); //=>3 arguments[2] = 10;//=>把傳遞的第三個實參值修改為10,此時第三個形參變量a也會受到影響 console.log(a);//=>10 } a = b(1, 2, 3);//=>a=b執行的結果 =>a=undefined [b函數中并沒有編寫return,所以默認函數的返回值是undefined] *** console.log(a); //undefined */ ~~~ ![](https://img.kancloud.cn/fe/e9/fee98b0d58d2cbc4c55bd67769c0ed83_764x487.png) ~~~ /* function fn(x, y) { /!* * 形參 * x=10 * y=undefined y也是私有變量,不是沒賦值,而是賦值為undefined * * ARG * 0:10 * length:1 * * ARG和形參之間的映射是以ARG的索引為基礎完成的, * ARG中有這個索引,瀏覽器會完成和對應形參變量中的映射機制搭建, * 如果形參比ARG中個數多,那么多出來的形參是無法和ARG中 * 對應的索引建立關聯的 *!/ var arg = arguments; arg[0] = 100; console.log(x);//=>100 y = 200; console.log(arg[1]);//=>undefined } fn(10);*/ ~~~ ![](https://img.kancloud.cn/72/79/727905cf5f04aacc26cfa89091686376_432x200.png) ~~~ /* function fn(x, y) { var arg = arguments; /!* * x=10 y=undefined * * ARG fn(10);只傳了一個參數 * 0:10 * length:1 *!/ // y = 200; // console.log(arg[1]);//=>undefined arg[1] = 300; /!* * ARG * 0:10, * 1:300, * length:2 *!/ console.log(y); //undefined y=400; console.log(arg[1]); //300 //=>ARGUMENTS和形參的映射機制建立在函數執行后形參賦值的一瞬間, 此時能建立映射機制的建立映射機制,不能建立起來的,以后不管怎么操作都 無法再建立了 } fn(10); */ ~~~ ![](https://img.kancloud.cn/5f/b8/5fb894f772517e17e53db23573ef6f6f_519x240.png) ~~~ //=>JS嚴格模式 //> 在當前作用域的“第一行”添加 "use strict" 即可, 這樣在當前作用域中就開啟了JS的嚴格模式 /*--us [TAB]--*/ // "use strict";//=>整個JS都開啟了嚴格模式(只對當前這個JS文件中的代碼 生效,下一個JS文件需要開啟嚴格模式,第一行還需要再次編寫), 真實項目中,我們一般都會把所有JS文件合并壓縮為一個導入到頁面中 /*function fn() { // "use strict";//=>只在當前作用域中使用嚴格模式 }*/ ~function () { "use strict"; //... }(); ~~~ ~~~ //=>1.在嚴格模式下不支持使用 “arguments.callee / arguments.callee.caller” (Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them) //=>2.在嚴格模式下ARGUMENTS和形參沒有映射機制 //=>3.在嚴格模式下不允許給一個對象設置重復屬性名的: “obj={n:10,n:20}” //=>4.在嚴格模式下,函數執行,如果沒有明確指定執行的主體 (函數前面沒有點),不再像非嚴格模式下一樣,統一都交給window, 而是讓this指向undefined,代表沒有執行主體:“嚴格模式下, 有執行主體this就指向誰,沒有執行主體,this就是undefined” //=>高程三,最后有嚴格模式和非嚴格模式匯總 ~function () { /*function fn(x) { arguments[0]=100; console.log(x);//=>100 存在映射機制 } fn(10);*/ /*var obj={ n:10, n:20 }; console.log(obj.n);*/ function fn() { console.log(this);//=>window } fn(); }(); ~function () { "use strict"; /*function fn(x) { arguments[0]=100; console.log(x);//=>10 不存在映射機制 } fn(10);*/ /*var obj={ n:10, n:20 }; console.log(obj.n);*/ function fn() { console.log(this);//=>undefined } fn(); }(); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看