javaScript细节

javaScript是一种区分大小写的语言;

javaScript的常量是那些只能出现在赋值表达式右边的符号;

 1 var a = -3 || 1;
 2 alert(a);    //输出-3
 3 
 4 var a = 3 || 1;
 5 alert(a);  //输出3
 6 
 7 var a = 0|| 1;
 8 alert(a);  //输出1
 9 
10 var a = 1 || 1;
11 alert(a);  //输出1
12 
13 function step(a){
14     return function(x){
15         return x+a;
16     }
17 }
18 alert(step(10)(20)); //输出30
//Arguments对象,arguments属性
function f(x,y,z){
	if(f.length != arguments.length){
		alert('实参数与形参数不等!');
	}else{
		alert('实参数与形参数相等!');
	}
}
f(1,2,3);
f(1,2);

window.onload = function(){
  var bnt = document.getElementById('bnt');
  bnt.onclick = button1; //让事件处理函数执行一个函数时,通过赋值方式,直接将函数名赋给事件处理函数就可以了
              //如果加了(),则函数将会立即执行,后面也不会有效果了

  function button1(){
    alert('button');
  };
};

window.onload = function(){
    var bnt = document.getElementById('bnt');
    bnt.onclick = button1;
    function button1(){
        alert(arguments.length);   //弹出1;事件处理函数绑定的函数,浏览器会自动传递一个event参数
        alert(arguments[0]);
    };
};


window.onload = function(){
    var bnt = document.getElementById('bnt');
    bnt.onclick = button1;
    function button1(event){
        alert(arguments.length);   //弹出1;
        alert(arguments[0]);      //弹出[object MouseEvent]
        alert(event);                //弹出[object MouseEvent]
    };
};
window.onload = function(){
	var bnt = document.getElementById('bnt');
	bnt.onmouseup = function(event){
		var e = event || window.event;
		alert(e.button);     //属性button:右击时为2;滚轮为1;左击为0.
	}
};
window.onload = function(){
	var bnt = document.getElementById('bnt');
	bnt.onmouseup = function(event){
		alert(window.event);     //firefox不识别,为undefined
	}
};

 

document.onclick = function Foo(event){
		var e = event||window.event;
		alert(event);
		alert(arguments.length);
		alert("当前鼠标坐标为:"+event.clientX+","+event.clientY);
};
1 var data;
2 alert(typeof data); //data是Undefined类型,值是undefined,类型返回的字符串是undefined
3 
4 var data = true;
5 alert(typeof data); //data是Boolean类型,值是true,类型返回的字符串是boolean
6 
7 var obj = null; //这是一个空对象,没有创建对象,只是声明了一个对象的引用
8 alert(typeof obj); //obj是Null类型,值是null,返回object

alert(undefined == null); //true

alert(undefined === null); //false

 1 function box(num) {                            //按值传递,在javaScript中没有按引用传递参数
 2     num += 10;
 3     return num;
 4 }
 5 
 6 var num = 50;
 7 alert(box(num));          //60          //如果有按引用传递的话,alert(num);将输出60
 8 alert(num);               //50
 9 
10 
11 
12 //JS没有按引用传参的功能,传递引用参数和按引用传参是不一样的
13 function fnt(obj) {                            
14     obj.name = 'Mike';
15 }
16 
17 var obj = new Object();
18 fnt(obj);                  //这里将要传递一个引用类型的参数,但不是按引用传递,是按值传递的
19 alert(obj.name);              //Mike
1 //typeof 一般用于检测基本数据类型,不适合用于检测引用类型
2 //instanceof 用于检测引用类型,检测基本类型时会返回false
3 var b = 11;
4 alert(typeof b);            //number
5 alert(b instanceof Number);  //false
6 
7 var a = [2,1];
8 alert(a instanceof Array);  //true
原文地址:https://www.cnblogs.com/yzdqxing/p/4190380.html