javascript中一切皆对象?基本数据类型也是对象吗?

原创 2017年01月03日 16:57:46

学习js经常看到这句话——Javascript里面所有的数据类型都是对象 。

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"

相关文章推荐

保存基本数据类型和对象

  • 2017年03月02日 12:12
  • 257KB
  • 下载

javascript一些让人迷惑的地方--基本数据类型的包装对象

看个例子: var s= "      xxxx" var xxxx=s.substring(s.lastIndexOf(" ")+1,s.length); 首先得明白在js中字符串可是基本类型...
  • dys1990
  • dys1990
  • 2011年10月03日 02:23
  • 2901

javascript新建对象及基本数据类型

新建对象 1,原始方式 var oCar = new Object; oCar.color = "blue"; oCar.doors = 4; oCar.mpg = 25; oCar.sh...

JavaScript语法入门系列(三) 基本数据类型及其对应对象类型

JavaScript有3种基本数据类型,分别是布尔型(Boolean)和数值类型(Number)和用于字符串操作的String类型(String)。 基本数据类型可以在使用时分别自动转换成对象类型B...

Android SharedPreferences存储基本数据类型、List集合、Map集合、对象都在这了

import android.content.Context; import android.content.SharedPreferences; import android.content.Sha...

基本数据类型对象包装类、自动装箱和自动拆箱

-------android培训、Java培训、期待与您交流!------- 1  基本数据类型对象包装类 基本数据类型         引用数据类型(对象包装类) byte          ...

基本数据类型对象包装类的一些理解

基本数据类型对象包装类的作用: 为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作。 用于描述该对象的类就称为基本数据类型对象包装类。基本数据...
  • xdd_lmd
  • xdd_lmd
  • 2015年05月17日 16:33
  • 367

基本数据类型对象包装类有什么作用?如何使用?

基本数据类型包装类是按照面向对象的思想讲基本数据类型封装成了对象。

黑马程序员 java 基础 毕向东 面向对象 String StringBuffer StringBuilder 基本数据类型包装类

黑马程序员 java 基础 毕向东 面向对象 String StringBuffer StringBuilder 基本数据类型包装类...
  • CAREIT
  • CAREIT
  • 2014年09月17日 11:31
  • 930
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript中一切皆对象?基本数据类型也是对象吗?
举报原因:
原因补充:

(最多只允许输入30个字)