zoukankan      html  css  js  c++  java
  • 常见试题

    一、XHTML、CSS

    1、怎样触发怪异模式、怪异模式与标准模式的区别?

     

     

     

     

     

    二、javascript

    字符转换类:

    1、alert("1" + 2 + "3" + 4)结果是多少?

      答:"1234"  字符串

       alert(4 + 3 + 2 + "1")结果是多少?

      答:"91"

     

    作用域

    1、下列运算后结果是多少?  答:1  

    1 var foo = 1;
    2 function bar() {
    3     foo = 10;         // 所以,在foo=10的时候,foo是有定义的,属于局部变量,影响不到外层的foo
    4     return;
    5     function foo() {}    // 虽然遇到return 但foo先定义了变量所以会执行,如果function fooText(){} 这样会输出10
    6 }
    7 bar();
    8 alert(foo);

    2、下列运算后结果是多少?  答:Function 

    1 function bar() {
    2     return foo;
    3     foo = 10;
    4     function foo() {}
    5     var foo = 11;
    6 }
    7 
    8 alert(typeof bar());

    3、下列代码的执行顺序是什么?     答:3,1

     1 var x = 3;
     2 
     3 var foo = {
     4     x: 2,
     5     baz: {
     6         x: 1,
     7         bar: function() {
     8             return this.x;
     9         }
    10     }
    11 }
    12 
    13 var go = foo.baz.bar;
    14 alert(go());        // 这个时候调用指针this为window,会调用全局变量x,所以等于3
    15 alert(foo.baz.bar());   // 会调用baz下的对象属性x=1;

    4、下列代码弹出什么?  答:4

     1 var x = 4,
     2     obj = {
     3         x: 3,
     4         bar: function() {
     5             var x = 2;
     6             setTimeout(function() {
     7                 var x = 1;
     8                 alert(this.x);      // 这个this指向了window所以等于4
     9             }, 1000);
    10         }
    11     };
    12 
    13 obj.bar();    // 因为调用的时候是window调用的

      

    5、下面弹出弹出什么? 答:2

    1 x = 1;
    2 
    3 function bar() {
    4     this.x = 2;       // 这里的this指向foo
    5     return x;
    6 }
    7 
    8 var foo = new bar();
    9 alert(foo.x);        // 是构造函数本身

    6、下面会弹出什么?  答:2

    1 function foo(a) {
    2     alert(arguments.length);
    3 }
    4 foo(1, 2, 3);        // arguments取的是实参的个数

    7、下面代码会弹出什么?  答:undefined

    1 var foo = function bar() {}; 
    2 
    3 alert(typeof bar);    // 这种情况下bar的名字从外部不可见,那是不是这个名字别人就没法知道了呢

    8、下面代码会弹出什么?  答:2

    1 var arr = [];
    2 arr[0]  = 'a';
    3 arr[1]  = 'b';
    4 arr.foo = 'c';    // arr本身就是对象在对象下面添加一个属性不会有问题,
    5 alert(arr.length);

    9、下面代码会弹出什么?  答:2

    1 function foo(a) {
    2     arguments[0] = 2;  // 会将第一个参数的值覆盖为2
    3     alert(a);
    4 }
    5 foo(1);

    10、下面代码会弹出什么?   答:undefined 、 local

    1 // 反例
    2 myname = "global"; // 全局变量
    3 function func() {
    4     alert(myname); // "undefined"
    5     var myname = "local";
    6     alert(myname); // "local"
    7 }
    8 func();

    为什么第一个不弹出"global"

    此时函数肯定很自然而然地看全局变量myname,但是,实际上并不是这么工作的。

    第一个alert会弹 出”undefined”是因为myname被当做了函数的局部变量(尽管是之后声明的),所有的变量声明当被悬置到函数的顶部了。

    因此,为了避免这种混乱,最好是预先声明你想使用的全部变量。

    myname = "global"; // global variable
    function func() {
    var myname; // 等同于 -> var myname = undefined;
    alert(myname); // "undefined"
    myname = "local";
    alert(myname); // "local"}
    func();

    但如果函数内不声明局部变量会就弹出"global"

    1 myname = "global"; // 全局变量
    2 function func() {
    3     alert(myname); // "undefined"
    4 }
    5 func();

    11、

     1 var a = 10;
     2 
     3 function aa(){
     4      bb();
     5 
     6      alert(a);
     7 
     8      function bb() {
     9           var a = 20;  
    10     }  
    11 }    
    12 
    13 aa();    // 10;

    三、HTML5和CSS3

     

     

     

  • 相关阅读:
    谈谈Nginx有哪些特点
    网站嵌入百度地图制作
    8张图理解Java
    linux问题-easy_install安装bpython时报错
    linux问题-Centos 安装Sublime text 3
    python例子-Nmap扫描IP并更新
    python例子-PyQuery抓取信息.
    python例子-MySQLdb和练习题
    python例子-线程和队列
    mysql问题-centos7中mysql远程连接问题
  • 原文地址:https://www.cnblogs.com/couxiaozi1983/p/3478967.html
Copyright © 2011-2022 走看看