欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

面试常问问题

程序员文章站 2022-04-06 12:31:37
1、值类型与引用类型区别 2、装箱拆箱 装箱:值类型转换成引用类型。将值类型从栈上拷贝到堆上,将地址返回; 拆箱:引用类型转换成值类型。将引用类型的数据拷贝到栈上。 3、JS遍历 for语句:和c#一样 in语句: .each: ......

1、值类型与引用类型区别

  值类型 引用类型
存储方式 直接存储值本身 存储数据的引用,数据存在数据堆上
内存分配 分配在栈上  分配在堆上
内存回收 用完直接回收  不会直接加收,通过gc机制回收
实例分配 一般是存在栈上如果是类的属性也有可能随类存在堆上 一定分配在堆上
效率   不需要地址转换效率高 需要进行地址转换效率低
赋值操作 直接创建对象   创建对象的引用

 

2、装箱拆箱

装箱:值类型转换成引用类型。将值类型从栈上拷贝到堆上,将地址返回;

拆箱:引用类型转换成值类型。将引用类型的数据拷贝到栈上。

 3、js遍历

for语句:和c#一样

for (var i=0;i<cars.length;i++)
{
document.write(cars[i] + "<br>");
}

 

in语句:

var person={fname:"john",lname:"doe",age:25};

for (x in person)
  {
  txt=txt + person[x];
  }

 

.each:

 $("li").each(function(){
    alert($(this).text())
  });