è¦è¯´jsçèµå¼æ¹å¼æ¶é¦å è¦è¯´æjsçæ°å¼ç±»åï¼åºæ¬ç±»ååå¼ç¨ç±»åã
1ãåºæ¬ç±»å
åºæ¬çæ°æ®ç±»åæï¼undefinedï¼booleanï¼numberï¼stringï¼nullã åºæ¬ç±»ååæ¾å¨æ åºï¼è®¿é®æ¯æå¼è®¿é®çï¼å°±æ¯è¯´ä½ å¯ä»¥æä½ä¿åå¨åéä¸çå®é çå¼ã
å½åºæ¬ç±»åçæ°æ®èµå¼æ¶ï¼èµå¾æ¯å®é çå¼ï¼aåbæ¯æ²¡æå ³èå ³ç³»çï¼bç±aå¤å¶å¾å°ï¼ç¸äºç¬ç«ãï¼åé¢éçææ¯åºæ¬ç±»åï¼
var a=10;
var b=a;
console.log(a+','+b); // 10,10
a++;
console.log(a+','+b) // 11,10
2ãå¼ç¨ç±»å
å¼ç¨ç±»åæçæ¯å¯¹è±¡ãå¯ä»¥æ¥æå±æ§åæ¹æ³ï¼å¹¶ä¸æ们å¯ä»¥ä¿®æ¹å ¶å±æ§åæ¹æ³ãå¼ç¨å¯¹è±¡åæ¾çæ¹å¼æ¯ï¼å¨æ ä¸åæ¾å¯¹è±¡åéæ 示å称å该对象å¨å ä¸çåæ¾å°åï¼å¨å ä¸åæ¾æ°æ®ã
对象使ç¨çæ¯å¼ç¨èµå¼ãå½æ们æä¸ä¸ªå¯¹è±¡èµå¼ç»ä¸ä¸ªæ°çåéæ¶ï¼èµçå ¶å®æ¯è¯¥å¯¹è±¡çå¨å ä¸çå°åï¼èä¸æ¯å ä¸çæ°æ®ãä¹å°±æ¯ä¸¤ä¸ªå¯¹è±¡æåçæ¯åä¸ä¸ªåå¨ç©ºé´ï¼æ 论åªä¸ªå¯¹è±¡åçæ¹åï¼å ¶å®é½æ¯æ¹åçåå¨ç©ºé´çå 容ï¼å æ¤ï¼ä¸¤ä¸ªå¯¹è±¡æ¯èå¨çã
3ãæ°ç»æ¯å¼ç¨ç±»å
æ们å æ¥çä¸ä¸ªä¾åï¼
var a = [1,2,3];
var b = a;
a = [4,5,6];
alert(b); //[1,2,3]
好åæ°ç»æ¯åºæ¬ç±»åä¸æ ·ããï¼ä½æ¯ï¼
var a = [1,2,3];
var b = a;
a.pop();
alert(b); //[1,2]
è¿æ¯æä¹åäºï¼å 为ï¼ï¼ç¥ä¹è§£éï¼
a = [4,5,6];//æ¹åçæ¯aå¼ç¨æ¬èº«ï¼æ²¡ææ¹åæ°ç»å¯¹è±¡ï¼aåb没æäºå ³ç³»ã
a.pop();//æ¹åçæ¯æ°ç»å¯¹è±¡ï¼aå¼ç¨æ²¡ææ¹åã
b = a;//该æä½åï¼bç´æ¥æåæ°ç»å¯¹è±¡ï¼ä¸æ¯bæåaï¼aåæåæ°ç»ã
//æ以æ¹åaå¼ç¨å¹¶ä¸ä¼å¯¹bå¼ç¨é æå½±åï¼æ¹åæ°ç»å¯¹è±¡å¯ä»¥ã
è¿ä¸ªé®é¢å°±è·æä¹åå¨React todoï¼list ä¸ç¯ä¸æå°çé®é¢ä¸æ ·ï¼
var tasks=this.state.data;
tasks=tasks.filter(function(i){
return i.index!=taskId;
});
ç±äºfilterå½æ°æ¯è¿åä¸ä¸ªæ°çæ°ç»ï¼è½ç¶ä»ç¶ç¨taskså»æ¥æ¶ï¼ä½è¿æ¶åtasksçæåå·²ç»æ¯æ°æ°ç»å¦ï¼æ以tasksådataå·²ç»ä¸å¨æå ³ç³»ãï¼concatä¹æ¯è¿åæ°æ°ç»ï¼
èpushåspliceå½æ°æ¯å¨åæ°ç»ä¸æä½ï¼æè°å¨åæ°ç»æä½ï¼æçæ¯æåä¸åï¼æ以tasksådataæ¯ç¸å ³èçã
4ãåæ°ä¼ é
jsçå½æ°åæ°ä¼ é为å¼ä¼ éã
å½ä¼ å ¥çæ¯ åºæ¬ç±»åçåæ°æ¶ï¼å°±æ¯å¤å¶äºä»½å 容ç»ièå·²ï¼iä¸ageä¹é´æ²¡æå ³ç³»ã
function setAge(i)
{
alert(i);//24
i = 18;
alert(i);//18,içæ¹åä¸ä¼å½±åå¤é¢çage
};
var age = 24;
setAge(age);
alert(age);//24
å½ä¼ å ¥çåæ°ä¸ºå¼ç¨ç±»åæ¶ï¼
function setName(obj)
{
obj.name = 'haha';
};
var obj2 = new Object();
setName(obj2);
alert(obj2.name); // haha
è¿çèµ·æ¥å¾åæ¯ä¼ éçæ¯å¼ç¨ï¼å 为obj.nameåå°æ¹åäºï¼ä½å ¶å®ä¸æ¯ï¼å ¶å®è¿æ¯å¼ï¼å 为obj2æ¬èº«çå¼å°±æ¯æ°å¯¹è±¡çå°åï¼æä»¥ä¼ è¿å»çå°±æ¯è¿ä¸ªå°åã
è¿æ¯é¿é2014å¹´çç¬è¯é¢ï¼
var a = 1;
var obj = {
b: 2
};
var fn = function () {};
fn.c = 3;
function test(x, y, z) {
x = 4;
y.b = 5;
z.c = 6;
return z;
}
test(a, obj, fn);
alert(a + obj.b + fn.c);
çæ¡ï¼12
é¦å testä¼ éè¿å»çå®åä¸ï¼aæ¯åºæ¬ç±»åï¼ï¼å¤å¶äºä¸ä»½å¼ï¼ï¼objæ¯objectï¼æåå°åï¼ä½ å¨æä¹å¨ï¼ï¼fnä¹å½ç¶ä¸æ¯åºæ¬ç±»åå¦ãå¨æ§è¡testçæ¶åï¼x被èµå¼ä¸º4(è·aæ²¡å ³ç³»ï¼åç©åçï¼aä»ç¶ä¸º1)ï¼yçb被èµå¼ä¸º5ï¼é£objçbä¹å为5ï¼zçcå为6ï¼é£fnçcå½ç¶ä¹ä¼æ¯6. æ以alertçç»æåºè¯¥æ¯1+5+6 =12. ï¼å ¶å®testä¸è¿åzä¹ä¸æ ·ï¼zä»ç¶æ¹åçï¼ã