javascript中一切皆对象?基本数据类型也是对象吗?
2017-01-03 16:57
225 查看
学习js经常看到这句话——Javascript里面所有的数据类型都是对象 。
1.我们知道js ES5中数据类型分为基本数据类型和复杂数据类型。
基本类型有5类,分别是null,undefined,number,string,boolen。
复杂数据类型是object;
2.基本数据类型又被成为值类型 ; 复杂数据类型又被成为引用类型;
3.是不是所有的数据类型都是对象?明显不是。只有复杂数据类型是对象。
4.举个栗子;
区别在于,通过对象类型初始化的(typeof显示object) 可以挂载任意方法。而原始类型却不能。
除了undefined 和 null 不能直接调用属性,其它的基本数据类型都可以直接调用属性,不存在则返回undefined
所以说js是基于对象的脚本语言。
5.另一个栗子;
var num = new Number(7);
console.log(num instanceof Number); //true
console.log(typeof a); // "object"
var num = 7;
console.log(num instanceof Number ); //false
console.log(typeof num); //"number"
1.我们知道js ES5中数据类型分为基本数据类型和复杂数据类型。
基本类型有5类,分别是null,undefined,number,string,boolen。
复杂数据类型是object;
2.基本数据类型又被成为值类型 ; 复杂数据类型又被成为引用类型;
3.是不是所有的数据类型都是对象?明显不是。只有复杂数据类型是对象。
4.举个栗子;
String.prototype.str=function() { return 'hello'; } var str1=5; str1 instanceof String //结果:false typeof str1 //'string' str1.str() //hello 可以调用到String.prototype挂载的方法
var str2=new String('a_string'); typeof str2 //object str2.str() //hello
也可以调用到Number.prototype挂载的方法
所以,在不需要明确判断类型字符串的时候,其实用法上基本没区别。
区别在于,通过对象类型初始化的(typeof显示object) 可以挂载任意方法。而原始类型却不能。
str2.bb=function() { return 'bb' } str2.bb() //bb str1.bb=function(){ return 'bb' } str1.bb() //Uncaught TypeError: str1.bb is not a function(…)
除了undefined 和 null 不能直接调用属性,其它的基本数据类型都可以直接调用属性,不存在则返回undefined
所以说js是基于对象的脚本语言。
5.另一个栗子;
var num = new Number(7);
console.log(num instanceof Number); //true
console.log(typeof a); // "object"
var num = 7;
console.log(num instanceof Number ); //false
console.log(typeof num); //"number"
相关文章推荐
- Java中,一切皆是对象!为何数据类型中还分为:基本类型和对象?
- javaScript 基本类型数据对象规律
- javascript一些让人迷惑的地方--基本数据类型的包装对象
- JS-安全检测JavaScript基本数据类型和内置对象的方法
- JavaScript语法入门系列(三) 基本数据类型及其对应对象类型
- javascript新建对象及基本数据类型
- Java中,一切皆是对象——java中的对象类型与基本数据类型的区别
- Java中,一切皆是对象,为何数据类型中还分为:基本类型和对象?
- (3)JavaScript基础(基本语法:变量与数据类型、类型转换、运算符、流程控制、函数、对象、自定义对象、原型)
- JavaScript的对象,赋值,即用等号赋值如x=y,也想Java类一样(Java基本数据类型不是这样的)是满足“箭头”黄金定律,如果修改x,y的值也随之改变
- javascript对象转化为基本数据类型规则
- 安全检测JavaScript基本数据类型和内置对象
- javascript基础(对象,对象属性,属性基本和引用数据类型,字面量创建对象,垃圾回收,属性的枚举)(十三)
- java能像JavaScript那样,直接对基本类型的数据,像对待对应的对象那样,引用相应对象里的属性吗?
- JavaScript中的基本数据类型
- 黑马程序员:API及基本数据类型的对象包装类
- javascript基本数据类型
- Java第五课 Java的常用包,"=="和"equals"的用法,基本数据类型与引用类型,对象的克隆。
- Javascript -- 函数及基本数据类型
- 基本数据类型和对象