• 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
  • 相关阅读:
    数码摄影入门之十 数码相片后期处理
    Easy CHM 2.10
    LeapFTP 3.0.0.43 汉化版(附带LeapFTP 3.0注册码)
    使用“淘宝助理”的常见错误
    “互联网浏览器”控件与webBrowser控件的区别
    易语言源代码毁来者来了!!
    易语言正则表达式的多行匹配替换
    Explorer.exe鲜为人知的参数
    原始套接字概述
    网络技术数据封装
  • 原文地址:https://www.cnblogs.com/yzdqxing/p/4190380.html
Copyright © 2020-2023  润新知