笔试问题记录

1.对于未初始化和未声明的变量为输出什么:
实例:

    var a;
 	console.log(typeof a);
 	console.log(typeof b);

运行结果:

undefined
undefined

2.脱离文档流之float和absolute的区别:

(1)首先需要强调脱离文档流的元素都是块级元素。
(2)区别一:-----1position:absolute是完全脱离文档流。它的定位是参考于离它最近的设置了除static之外的其他定位的父元素,如果没有,它就会以html根元素为参考。
-----2 float脱离文档流之后,还是会跟随父级(会被放置在容器中的左边或右边)
(3)区别二:在有文字时
—1文字会围绕float元素,所以float元素在文档流还是有一定存在位置的。
----2文字会被absolute的元素遮挡了,说明了absolute的元素已经完全脱离文档流,文字可以无视它的存在了

3.cookie属性有哪些:

1.name:cookie的名称。
2. value :cookie的值。
3. domain:用于访问此cookie的域名
4. path:用于访问此cookie的页面路径。
5. Size :cookie大小。
6.http :cookie的httponly属性。若该属性为true,则只有在http请求头中会带有此cookie的信息,而不能通过document.cookie来访问此cookie。
secure 字段 :设置是否只能通过https来传递此条cookie

4.什么属性用来设置当前对象的prototype对象:

__proto__属性(前后各两个下划线),用来读取或设置当前对象的prototype对象

5.试试打印undefined和null会得到什么?

console.log(undefined) //undefined
console.log(null) //null
扩展:
console.log(undefined==0) //false

console.log(null==0) //false

console.log(null==undefined) //true;

6.这个问题有关于面向对象

//代码一:
function Fox(run){
       alert("hello");
       this.run=function(){
  		alert("i'm run")
  	  };
  	}
  	 
  	Fox.prototype.run=function(){
  		alert("i'm running");
  	}
  	var fn=new Fox();
  	fn.run();

运行结果:
在这里插入图片描述
在这里插入图片描述
解释:在这种情况下,由于fn继承了Fox里面原本的方法和属性,所以,调用的run()方法就是Fox构造函数中的。

//第二种情况
function Fox(){
       alert("hello");
       Fox.run=function(){
  		alert("i'm run")
  	  };
  	}
  	 
  	Fox.prototype.run=function(){
  		alert("i'm running");
  	}
  	var fn=new Fox();
  	fn.run();

运行结果为:
在这里插入图片描述

在这里插入图片描述
解释:此时fn调用的run是原型对象上面的run()方法,而不是Fox构造函数另外附加的,fn的继承,他只继承了Fox它原本有的东西,而Fox附加的属性和方法,Fox的实例是不会继承的。

//代码三:
	function Fox(){
       alert("hello");
       
  	}
  	 Fox.run=function(){
  		alert("i'm run")
  	  };
  	Fox.prototype.run=function(){
  		alert("i'm running");
  	}
  	var fn=new Fox();
  	fn.run();

解释:
这个和第二种情况得到的结果是一样的。
最后总结:如果Fox构造函数本身没有run()方法,而他的原型对象上面有的话,它要调用run方法,可以这么做:Fox.prototype.run();
7.关于闭包:

function foo(x){
  var tmp=3;
  return function (y){
      console.log(x+y+(++tmp));
  }
  }
  var bar=foo(2);
  bar(10);
  bar(12);

运行结果为:

16
19

8.下面会输出的结果是什么:

console.log(a);
      var a=1;
      var a=function(){
          console.log(2);
      };
      function a(){
          console.log(3);
      }

运行结果为:

function a(){ console.log(3)};

9.编程实现,将十进制的数字10转化为二进制:
代码:

<script>
    let n=10;
    function Cnum(n){
    	let num='';
    	while(Math.abs(Math.ceil(n/2))>0){
    		num+=Math.abs(n%2);
    		n=Math.abs(Math.floor(n/2));
    	}
    	num=num.split('');
    	num.reverse();
    	num=num.join('');
    	console.log(num);
    };
    Cnum(n);
</script>

运行结果为:1010

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值