JSドラック--無視しやすいいくつかの知識点
5054 ワード
JSにおけるグローバル変数
----------------
----------------
JavaScript ( window)
:
1、no var
function add(a, b) {
//result
result = a + b;
return result;
}
2、chain assignments
function add() {
//b
var a = b = 2;
}
------------
------------
, :
function add() {
var a = 1,
b = 2,
c = 3;
}
変数宣言の昇格 -------------
Hoisting
-------------
Hoisting( ), :
var name = "globalname";
function some() {
console.log(name); //undefined
var name = "localname";
console.log(name); //localname
}
1、 ,JS 。
2、 console name some name.
3、 some ,var name = "localname" var name; name = "localname";
4、 var name; some 。
forinの使用 -------------
forin
-------------
forin, :
var student = {
name: 'dai'
}
Object.prototype.age = 21;
for(var i in student) {
console.log(i + ' ' + student[i]);
//name dai
//age 21
};
, name , :
for(var i in student) {
if(student.hasOwnProperty(i)) {
console.log(i + ' ' + student[i]);
}
}
hasOwnProperty 。
student hasOwnProperty ?
for(var i in student) {
if(Object.prototype.hasOwnProperty.call(student,i)) {
console.log(i + ' ' + student[i]);
}
}
, Object.prototype.hasOwnProperty ?
------------------------
build-in-prototype
------------------------
, , 。
:
if(typeof Object.prototype.methodName !== "function") {
Object.prototype.methodName = function() {
//do something
}
}
使用を拒否する== === == 。
evalの使用を避ける() , 。
文字列を数値に変換 -----------------
-----------------
parseInt() , , , 。
。
:
var b = "08 ";
console.log(+b); // NaN
console.log(parseInt(b,10)); //8