zoukankan      html  css  js  c++  java
  • javascript基础知识show

    1、javascript的数据类型是什么

           基本数据类型:String,boolean,Number,Undefined,Null

           引用数据类型:Object(Array,Date,RegExp,Function)

         判断某变量是否为数组数据类型:

             方法1、判断其是否具有“数据性质”,如slice()方法.(但是我们可以自己给变量定义slice方法,故有时会失效)

             方法2、obj instanceof Array  在某些IE版本中不正确。

         方法3、方法1、2均存在漏洞,在ECMA Script5中定义了新方法Array.isArray(),保证其兼容性,最好的方法如下:

           

     2、已知ID的input输入框,希望获取这个输入框的输入值。(不使用第三方框架)

        document.getElementById("ID").value;

    3、希望获取页面中所有的checkbox怎做(不使用第三方框架)

       function _selectCheckBox(){
                var domList = document.getElementsByTagName('input');
                var checkBoxList = [];
                var len = domList.length;//缓存到局部变量
                while(len--){  //使用while的效率会比for循环更高
                    if(domList[len].type=='checkbox'){
                        checkBoxList.push(domList[len]);
                    }                
                }
                alert(checkBoxList);
            }

     4、设置一个已知ID的html内容为xxx,字体颜色设为黑色(不使用第三方框架)

         var dom = document.getElementById("ID");

         dom.innerHTML ="xxx";

         dom.style.color ="#000";

      6、 当一个DOM节点被点击时候,希望执行一个函数,怎做?

         -- 直接在DOM里绑定事件:<div onclick="test();"></div>

        --  在js里通过onclick绑定:xxx.onclick=test;

        --  通过事件添加进行绑定:addEventListener(xxx,'click',test);

      7、java的事件流模型:

        -- “事件冒泡”:事件开始由最具体的元素接受,然后逐级向上传播。

        -- “事件捕捉”:事件由最不具体的节点先接收,然后逐级向下,一直到最具体的。

        --“DOM事件流”:三个阶段:事件捕捉、目标阶段、事件冒泡

      8、what's Ajax and JSON,和优缺点。

            Ajax是异步JavaScript的xml,用于在web页面中实现异步数据交互。

       优点:

          --  可以使用页面不重载全部内容的情况下加载局部的内容,降低数据传输量

          -- 避免用户不断刷新或者跳转页面,提高用户体验。

        缺点:

           -- 对搜索引擎不友好

           -- 要实现Ajax下的前后退功能成本比较大。

           -- 可能造成请求书的增加

           -- 跨域问题限制

         JSON是一种轻量级的数据交换格式,ECMA的一个子集。

        优点:

               轻量级、易于人的阅读和编写,便于机器(JavaScript)解析,支持复合数据类型(数组、对象、字符串、数字)

        8、如下代码输出为?原因。

         var a;

         alert(typeof a);  //undefined

         alert(b);//报错

         释:Undefined是一个只有一个值的数据类型,这个值就是“undefined”,在使用var声明变量但并未对其赋值进行初始化时,这个变量的值就是undefined。而b由于未来声明将报错。注意未声明的变量和声明了未赋值的是不一样的。

       9、如下代码输出为?原因。

        var a = null;

        alert(typeof a);//  object

       解释:null是一个只有一个值的数据类型,这个值就是null。表示一个空指针对象,所以用typeof检测会返回“object”.

        10、如下代码给出结果

       var a = new Object();

       a.value=1;

       b=a;

       b.value =2;

       alert(a.value);

       //引用数据类型细节

        11、一直数组  var stringArray = ["This","is","Baidu","campany"],alert出 “This is Baidu Campany”.

        function _combo(){
                var foo="get-element-by-id";
                var arr = foo.split("-");
                for( var i=1;i<arr.length;i++){
                    arr[i]= arr[i].charAt(0).toUpperCase()+arr[i].substr(1,arr[i].length-1);
                }
                var msg = arr.join("");
                return msg;
            }

      12、var numberArray = [3,2,1,4,5,6];

       --  对数组进行倒排 输出 [6,5,4,1,2,3];

       --  实现对该数组的降序排列,输出[6,5,4,3,2,1];

       var numberArray = [3,2,1,4,5,6];

       numberArray.reverse();//[6,5,4,1,2,3];

        numberArray.sort(function(a,b){

        return b-a;

    })

      13、输出今天的日期,以YYYY-MM-DD的方式,

        var d = new Date();

        //获取年,getFullYear()返回四位数

        //获取月,月份比较特殊,0是1月,11是12月,

        var month = d.getMonth()+1;

        //变为两位

        month = month<10? '0'+month:month;

       //获取日

        var day = d.getDate();

        day = day<10? '0'+day:day;

        alert(year+'-'+month+'-'+day);

       14、foo = foo||bar 代码含义

        if(!foo) foo=bar;//如果foo存在 值不变,否则把bar赋值给foo;

         

  • 相关阅读:
    MT【235】两道函数题
    MT【234】正方形染色(二)
    MT【233】染色正方形
    MT【232】展开式中的系数
    MT【231】棋子方法数
    MT【230】一道代数不等式
    MT【229】最小值函数
    MT【228】整数解的个数
    Python-list中的排序
    IO多路复用
  • 原文地址:https://www.cnblogs.com/happysgo/p/5771076.html
Copyright © 2011-2022 走看看