18.05.03

    1. js中var a=new Object()和var a={}有什么区别吗?

初始化的过程上有区别,前者是用构造函数实例化对象,后者是直接创建JSON对象,后者的初始化比较方便,可以在初始化的时候同时赋值。而两种方法创建的对象在使用上都是一样的,所以使用的时候都建议用后者,比较高效。

转载https://zhidao.baidu.com/question/539498598.html

    2. var a = {} 与 var a = function(){} 的区别?

var a = {}
此时a是一个对象,是一个没有任何属性的对象。
var a = {'name':'object'};
此时a是一个对象,是一个有一个属性的对象,属性名为name,属性的值为object。
**alert(a.name) 或者alert(a[name])的结果都是object,这是对象访问属性的两种方式。**
但,上述加深行的第一种输出方法,在此时
var a = {"111":"222"};
第一张方法报错
var a = function(){}
此时a指向一个函数,相当于有一个函数,名为a,可以这么调用这个函数:
a()
只不过这个函数什么都没有做。
var a = function(){
    alert(1);
}
此时a是一个函数,调用a()执行的是函数体,也就是 alert(1)
就这样了,没什么不正常的吧。

    3. js ==与===区别

//全等===和相等==的区别
console.log(100 === '100');//false
console.log(100 == '100');//true
//总结是===类型不同也会返回false ,==类型不同,值相同返回true
1、对于string,number等基础类型,==和===是有区别的
1)不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等
2)同类型比较,直接进行“值”比较,两者结果一样
2、对于Array,Object等高级类型,==和===是没有区别的
进行“指针地址”比较
3、基础类型与高级类型,==和===是有区别的
1)对于==,将高级转化为基础类型,进行“值”比较
2)因为类型不同,===结果为false

    4.new 对象创建的是什么存储空间

    5.Java与指针(java 里没有指针,但是有引用)(转载)
    https://blog.csdn.net/yueqi1125/article/details/78719523

猜你喜欢

转载自blog.csdn.net/yw2567/article/details/80178655