亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

JavaScript ?? ??(?? ??)

??

ECMAscript 5? ?? ?? ?? ??? ? ?? ?? ??? "?? ??"? ?????. ???? ? ? ??? ? ??? Javascript? ? ??? ???? ????? ???.

?? ??? ???? ??

- Javascript ??? ????? ??? ??? ???? ??? ??? ????.

- ?? ??? ?? ???? ?? ??? ???? ?? ??? ???? ?????. ???? ??? ? ?? ?? ??

- ??? ??? ??? Javascript? ?? ?? ?????.

"?? ??"? Javascript? ?? ????? ???? ?? ??? ?? ??? ?????. IE 10? ??? ?? ??????? ?? ?? ???? ??? ?? ??? ?????? ?? ??? ???? ??????.

??? "?? ??"??? ??? ??? ?? ??? ?? ? ????. "?? ??"?? ??? ? ?? ?? ???? "?? ??"??? ???? ????. ??? ??? ????? Javascript? ? ??? ???? ? ?? ?????? ? ? ????.

??? ??"use strict";


?? ??

1. ?? ????? ??

<script> strict";  ??. log("??? ?? ?????.");
</script>


2. ?? ??? ??

function strict(){

   ";

   return "??? ?? ?????.";

  }

  function notStrict() {

   return "??? ?? ?????. }

3 ?? ?? ???? ?? ??

(function (){

"use strict";

// ??? ?? ??

})();

? 1:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
<p>瀏覽器按下 F12 開啟調(diào)試模式,查看報(bào)錯(cuò)信息。</p>
<script>
"use strict";
x = 3.14;       // 報(bào)錯(cuò) (x 未定義)
</script>
</body>
</html>

? 2:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
<p>瀏覽器按下 F12 開啟調(diào)試模式,查看報(bào)錯(cuò)信息。</p>
<script>
x = 3.14;       // 不報(bào)錯(cuò) 
myFunction();
function myFunction() {
   "use strict";
    y = 3.14;   // 報(bào)錯(cuò) (y 未定義)
}
</script>
</body>
</html>


?? ? ?? ??:

1 ?? ??? ??? ??

?? ????? ??? ???? ??? ?????. ?, ???? ?? ?????. ?? ????? ??? ??? ???? ?? ??? ????? ????? ???.

"use strict";

v = 1; // ??? ???, v? ???? ??

for(i = 0; i < 2; i++) { // ??? ???, i? not ??

}

??? strict ????? ??? ???? ?? var ???? ???? ???.


2 ?? ???

Javascript ??? ??? "?? ???"? ????? ????. ?, ?? ??? ???? ?? ??? ????? ??? ??? ???? ?? ???(???)? ?????. .

?? ??? ?? ???? ? ?? ??? ?????. ?? ???? ?? ???? ?????. ?, ??? ???? ?? ??? ???? ??? ???? ?????. ??? ?? ??? ???? ????, ??? ? ?? ?? ? ???, ??? ?? ?? ?????.

?????? ??? ?? ??? ?????.

(1) with ?

? ???? ?? ?????. ???? with ?? ??? ??? ??? ?? ??? ??? ? ?? ?????.

"use strict";

var v = 1;

with (o){ // ?? ??

 v = 2;

}

(2) ?? ?? ??

?? ???? Javascript ???? ?? ??? ?? ???? ? ?? ?? ??? ????. ?? ??? ? ?? ??? eval ??? ????.

?? ???? eval ?? ??? ?? ??? ??? ?? ??? ???? ?? ?????. ?? ????? eval ? ??? ????? ? ?? ?? ??? ??? ? ????. ???? ??? eval ???? ??? ? ????.

"??? ??";

var x = 2;

console.info(eval("var x = 5; x")) // 5

console.info(x ; }

// "this"? ?? ??? ????? false? ?????. "!this"? false???

function f(){

 "use strict";

  return !this;

}

// ?? ????? this ?? ???? ???? "!this"? true??? true? ?????.

(2) ?? ??? ?? ??? ???? ?? ?????

function f1(){

  "use strict";

 f1.caller; // ?? ??

f1.arguments; // ?? ??

}

f1();

4 ?? ??? ?????

Strict ????? ??? ??? ? ????. ?? ?? ??? true? ??? ?? ??? ??? ? ????.

"use strict";

var x;

delete x; // ?? ??

var o = Object.create(null, {'x': {


  value : 1,

configurable : true

}});

delete o.x; ??? ??? ??? ???? ?? ???? ?????. ?? ????? ??? ?????.

"??? ??";


var o = {};

Object.defineProperty(o, "v", { ?: 1, ?? ??: false });

o.v = 2 ; // ?? ??

?? ????? getter ???? ???? ?? ??? ?? ??? ? ??? ?????.

"??? ??";

var o = {

get v () {return 1};

O.v = 2;

?? ????? ??? ??? ??? ? ??? ???? ??? ?????.

"use strict";

var o = {};

Object.preventExtensions(o);

o.v = 1; // ??

?? ???? ??? ???? ?? ??????. ??? ??? ??? ?????.

"use strict";

delete Object.prototype; // ??

6 ?? ?? ??

Strict ??? ? ?? ??? ?? ??? ???????. (1) ??? ??? ??? ??? ?? ? ????.

?? ???? ??? ??? ??? ??? ?? ? ?? ?? ????? ??? ??? ?? ?? ?????. ?? ????? ?? ?????.

"??? ??";

var o = {


 p: 1,

  p: 2

}; // ?? ??

(2) ???? ??? ??? ????? ?? ? ????.

?? ???? ??? ??? ??? ????? ?? ? ?? ??,args[i ] ??? ??? ? ????. ?? ????? ?? ?????.

"??? ??";

function f(a, a, b) { // ?? ??

   return ;

}


7 ?? ?? ?? ???

?? ???? ??? ? ?? ??? 0?? 8???? ?????. ?? ?? 0100? 10??? 64???. ?? ????? ? ??? ???? ??? ? ?? ??? 0?? ??? ?????.

"use strict";

var n = 0100; // ?? ??


8 ?? ??? ?? ??

arguments? ??? ?? ?? ???? ?? ??? ?? ??? ?????. ?? ??.

(1) ?? ??? ???? ????

"use strict";

arguments++; // ?? ??

var obj = { set p(arguments) { } } // ?? ??

try { } catch (arguments) { } // ?? ??

function ??() { } // ?? ??

var f = new Function("arguments", "'use strict' ; return 17;"); // ?? ??

(2) ??? ? ?? ???? ?? ??? ???? ????

function f(a) {

 a = 2;

   return [a, ??[0]];

}

f(1); // ?? ??? [ 2,2]

function f(a) {

"??? ??";

 a = 2;

 return [a, ??[0]];

}

f(1); // ?? ??? [2,1]

(3)???. ??args.callee

??? ?????. ?, ?? ?? ??? ??? ??? ? ????.

"use strict";

var f = function() { returnargs.callee; };

f(); // ??


9

?? ??? ??? Javascript??? "?? ?? ??"? ??? ?????. ? ??? ?? ?? ????? ?? ?? ?? ?? ??? ??? ????? ??? ??? ? ????. ?, ??? ?? ?? ?? ???? ??? ??? ? ????.

"??? ??";

if (true) {

  function f() { } // ?? ??

}

for (var i = 0; i < 5; i++) {

  function f2() { } // ?? ??

}


10? ???

?? ? ??? Javascript? ????? ?? ??? ???????. ?? ???: Implements, ?????, let, package, private, protected, public, static, Yield.

? ??? ?? ???? ???? ??? ?????.

function package(protected) { // ?? ??

 "use strict";

 var Implements; // ?? ??

}


???? ??
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p>瀏覽器按下 F12 開啟調(diào)試模式,查看報(bào)錯(cuò)信息。</p> <script> "use strict"; var public = 500; // 報(bào)錯(cuò) </script> </body> </html>