位置: 编程技术 - 正文

Javascript中的数据类型之旅(javascript中的数组可以存放任何类型的数据)

编辑:rootadmin

推荐整理分享Javascript中的数据类型之旅(javascript中的数组可以存放任何类型的数据),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript中的数据类型包括,javascript中的数据类型有哪些,javascript中的数组可以存放任何类型的数据,javascript中的数据类型有哪些,javascript中的数据类型有哪些,javascript中的数据类型有哪些,javascript中的数字在计算机内存储为多少byte,javascript中的数据类型,内容如对您有帮助,希望把文章链接给更多的朋友!

虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number、String、Boolean、Object、Udefined、Null。其中,Object属于复杂数据类型,Object 由无序的键值对组成。其余几种都属于简单数据类型。注意:变量类型首字母大写,而变量值首字母是小写的。

JavaScript不支持自定义类型,所以JavaScript中的所有值都属于这六种类型之一。根据ECMAScript 5.1的规范,javascript中共有六种数据类型,分别为:Undefined, Null, Boolean,Number, String、Object。前五种属于基本类型,最后一种属于Object类型。

最新的ECMAScript 6 又加了一种类型:Symbol (ECMAScript 6 新定义)

基本数据类型

Undefined:只有一个值,为undefined,意味着“空值(no value)”,适用于所有数据类型。Null:只有一个值,为null,意味着“空对象(no object)”,只适用于对象类型。(literal)Boolean:有两个值,为true与falseNumber:的值是遵循IEEE 标准的位浮点数的集合,没有整型数据结构。此外还包含三个特殊的值:NaN、Infinity、-InfinityString:值是有穷个Unicode字符的集合。必须用'或"括起来。

一、String

JavaScript的字符串类型用于表示文本数据。它是一组位的无符号整数值的“元素”。在字符串中的每个元素占据了字符串的位置。第一个元素的索引为0,下一个是索引1,依此类推。字符串的长度是它的元素的数量

与 C 语言不同,JavaScript 中字符串是不可变的(译注:如,JavaScript 中对字符串的操作一定返回了一个新字符串,原始字符串并没有被改变)

Javascript中一切都是object-based

创建string,也有两种类型

1、使用字面量方式创建的字符串,为基本类型的string //string

2、使用String()创建的字符串,为基本类型的string // string

3、使用构造函数 new String()的方式创建的字符串,为对象类型的 //string

var str1 = "javascript"; //stringvar str2 = String("javascript"); //string 不推荐var str3 = new String('javascript'); //object

object 和 string也是有区别的

s1 = "2 + 2"; // creates a string primitives2 = new String("2 + 2"); // creates a String objectconsole.log(eval(s1)); // returns the number 4console.log(eval(s2)); // returns the string "2 + 2"字符串对象的转换 valueof -》 string

console.log(eval(s2.valueOf())); // returns the number 4

二、boolean

不要将原始值true false,和值为true false的Boolean对象相混淆

1、如果Boolean构造函数的参数不是一个布尔值,则该参数会被转换成一个布尔值

2、如果参数是 0, -0, null,false, NaN, undefined, 或者空字符串 (""),生成的Boolean对象的值为false. 其他任何值,包括任何对象或者字符串"false", 都会创建一个值为true的Boolean对象

上面会执行,很神奇的代码

不要通过新建Boolean对象的方法来将一个非布尔值转化成布尔值. 直接使用Boolean函数才是正确的

三、Number

根据 ECMAScript 标准,JavaScript 中只有一种数字类型:基于 IEEE 标准的双精度 位二进制格式的值(-( -1) 到 -1)。它并没有为整数给出一种特定的类型。除了能够表示浮点数外,还有一些带符号的值:+Infinity,-Infinity 和 NaN (非数值,Not-a-Number)

数字类型只有一个整数,它有两种表示方法: 0 可表示为 -0 和 +0("0" 是 +0 的简写)。 在实践中,这也几乎没有影响。 例如 +0 === -0 为真。 但是,你可能要注意除以0的时候:

/ +0; // Infinity / -0; // -Infinity

如果参数无法被转换为数字,则返回 NaN。

在非构造器上下文中 (如:没有 new 操作符),Number 能被用来执行类型转换

isNAN 类型判断

原型链继承的关系

console.log(Number.prototype.__proto__ == Object.prototype); //trueconsole.log(Number.prototype.__proto__.__proto__ == Object.prototype.__proto__);//trueconsole.log(Object.prototype.__proto__ === null);//trueconsole.log(typeof Number);//function

使用 Number 转换 Date 对象

var d = new Date("December , ::");console.log(Number(d));

四、Null

null 是一个 JavaScript 字面量,表示空值(null or an "empty" value),即没有对象被呈现(no object value is present)。它是 JavaScript 原始值 之一。

null 是一个字面量 (而不是全局对象的一个属性,undefined 是 )

console.log(null); //nullconsole.log(undefined);//undefinedconsole.log(window.null);//undefinedconsole.log(window.undefined);//undefined

null与undefined的区别

Javascript中的数据类型之旅(javascript中的数组可以存放任何类型的数据)

所以判断null,可以判断类型 + 值

五、Undefined

在JavaScript中,undefined这个词有多重含义.首字母大写的Undefined表示的是一种数据类型,小写的undefined表示的是属于这种数据类型的唯一的一个值.但这两种undefined都只能存在于文档或规范中,不能存在于JavaScript代码中.在JavaScript代码中,你看到的undefined最有可能是全局对象的一个属性,该属性的初始值是就是前面所说的原始值undefined,还有种情况就是,这个undefined是个局部变量,就像其他普通变量一样,没有任何特殊性,它的值不一定是undefined,但通常情况下都是的.下面我们所说的undefined,都指的是window.undefined这个属性.

在ES3中(Firefox4之前),window.undefined就是一个普通的属性,你完全可以把它的值改变成为任意的真值,但在ES5中((Firefox4之后),window.undefined成了一个不可写,不可配置的数据属性,它的值永远是undefined.

一个未初始化的变量的值为undefined,一个没有传入实参的形参变量的值为undefined,如果一个函数什么都不返回,则该函数默认返回undefined.

你可以使用严格相等运算符来判断一个值是否是undefined:

总结

Null的值是null,表示一个空对象指针,没有指向任何对象Undefined的值是undefined,表示申明变量或对象的属性却未初始化undefined值是派生自null的,所以对他们执行相等测试会返回true数值、布尔值、对象和字符串值都有toString()方法。但null和undefined值没有这个方法多数情况下,调用toString()方法不必传递参数。但是,在调用数值的toString()方法时,可以传递一个参数:输出数值的基数

var num = ;alert(num.toString()); //""alert(num.toString(2)); //""alert(num.toString(8)); //""alert(num.toString()); //""alert(num.toString()); //"a"

在不知道要转换的值是不是null或undefined的情况下,还可以使用转型函数String(),这个函数能够将任何类型的值转换为字符串。String()函数遵循下列转换规则:

  ● 如果值有toString()方法,则调用该方法(没有参数)并返回相应的结果

  ● 如果值是null,则返回"null"

  ● 如果值是undefined,则返回"undefined"

六、Object

Javascript中一切皆Object

实例化一个空Object

var o = new Object();var o = new Object(undefined);var o = new Object(null);var o = {};

原型

定义属性为__proto__: 值 或 "__proto__": 值 时,不会创建名为__proto__属性。如果给出的值是对象或者null,那么对象的[[Prototype]]会被设置为给出的值。(如果给出的值不是对象也不是null,那么对象的原型不会改变。)

在对象字面值中,仅有一次变更原型的机会;多次变更原型,会被视为语法错误。

不使用冒号记法的属性定义,不会变更对象的原型;而是和其他具有不同名字的属性一样是普通属性定义。

与JSON的区别

JSON 只允许"property": value syntax形式的属性定义。属性名必须用双引号括起来。且属性定义不允许使用简便写法。JSON中,属性的值仅允许字符串,数字,数组,true,false,或者其他JSON对象。 JSON中,不允许将值设置为函数。 Date 等对象,经JSON.parse()处理后,会变成字符串。JSON.parse() 不会处理计算的属性名,会当做错误抛出。

defineProperty

configurable当且仅当这个属性描述符值为 true 时,该属性可能会改变,也可能会被从相应的对象删除。默认为 false。

enumerabletrue 当且仅当该属性出现在相应的对象枚举属性中。默认为 false。

value 与属性相关的值。可以是任何有效的 JavaScript 值(数值,对象,函数等)。默认为 undefined。

writable true 当且仅当可能用 赋值运算符 改变与属性相关的值。默认为 false。

存取描述符同时具有以下可选键值:

get 一个给属性提供 getter 的方法,如果没有 getter 则为 undefined。方法将返回用作属性的值。默认为 undefined。set 一个给属性提供 setter 的方法,如果没有 setter 则为 undefined。该方法将收到作为唯一参数的新值分配给属性。默认为 undefined。

ps:js中的变量定义

在JavaScript中,使用var来定义任何类型的变量,每一个变量只是用于保存数据的占位符。

var temp; //这句代码定义了一个变量,但其类型是未知的,可以存放任何类型的值,没有初始化的时候,test中存储是undefined。 var temp=2; //这句代码定义了一个变量,并直接初始化为数值型。 var temp="javascript"; // 这句代码定义了一个变量,并直接初始化微string型,单引号和双引号都可以,只要成对出现就行。

2、变量的作用域

在Javascript中,使用var定义的变量,其作用域是在定义该变量的方法或函数内。也就是说,使用var定义的变量是局部变量。 例:

function test() {  var temp="Hello, Javascript!"; }

test(); //方法调用的时候创建变量并初始化,执行结束后变量被销毁。 alert(temp); //undefined。因为变量temp已经被销毁,所以是未定义(undefined)。

如果在定义变量时,不使用var,那么定义的变量是全局变量。

例:

以上内容是小编给大家介绍的Javascript中的数据类型之旅,希望大家喜欢。

JavaScript基本的输出和嵌入式写法教程 JavaScript没有任何打印或者输出的函数。在HTML中,JavaScript通常用于操作HTML元素。操作HTML元素如需从JavaScript访问某个HTML元素,您可以使用document.getElement

JavaScript中字面量与函数的基本使用知识 JavaScript字面量在编程语言中,一个字面量是一个常量,如3.。数字(Number)字面量可以是整数或者是小数,或者是科学计数(e)。3.e5字符串(Strin

深入解析JavaScript的闭包机制 JavaScript变量可以是局部变量或全局变量。私有变量可以用到闭包。全局变量函数可以访问是有函数内部定义的变量,如:实例functionmyFunction(){vara=4;return

标签: javascript中的数组可以存放任何类型的数据

本文链接地址:https://www.jiuchutong.com/biancheng/368477.html 转载请保留说明!

上一篇:浅析四种常见的Javascript声明循环变量的书写方式(简述常用)

下一篇:JavaScript基本的输出和嵌入式写法教程(javascript的基本语句)

  • 个税抵扣申报晚好了需要跟公司申报吗?
  • 销项税额和进项税额发票怎么区别
  • 企业所得税如何申报操作
  • 个人所得税谁交
  • 个体季度申报怎么写
  • 运输部门计入什么会计科目
  • 当月发票作废需要收回么
  • 个体户经营税收政策
  • 资本化研发费用在本年的摊销
  • 有形资产净值是指
  • 销售费用包括哪些二级科目
  • 没收土地竞买保证金政策法律
  • 已付款货物还未付款
  • 免税商品销售要缴税吗
  • 哪些发票可以报销抵税
  • 案例分析小规模纳税人月销售不足3万如何处理?
  • 个体工商户税收标准2023年
  • 集团企业内各个部门职责
  • 年度企业所得税申报时间
  • 主营业务收入明细账图片
  • 公司账上的资金与注册资金不一致可以吗?
  • 长期待摊费用以后怎么摊销
  • 外挂项目跨年结转分录怎么做?
  • 无形资产怎么衡量
  • 捐款属于什么会计科目类别
  • 房地产土地增值税加计扣除20%
  • Windows server 2008设置远程桌面连接的详细步骤(图文教程)
  • linux中!
  • 饭店开业请客说什么
  • 免抵退税怎么做账
  • uview2.0封装http请求实战以及常见请求传参实录
  • wordpress使用
  • 如何区分货币财富和收入
  • zendstudio怎么创建php项目
  • php购物车实现流程
  • php simple html dom parser
  • paper 1
  • php md5 16位
  • head命令中表示输出文件前5行的参数是
  • 收到对方退回的现金
  • 收残疾人就业保险合法吗
  • 旧固定资产出售增值税率如何计算
  • 协议、合同
  • 小规模需要申报吗?
  • 网上银行回单可以做账吗
  • php 引入
  • python socketio
  • 固定资产处置是当月还是下月
  • 怎么保证发票是真的
  • 收到以前年度多交增值税账务处理怎么做账
  • 认缴制和实缴制的法律责任
  • 劳动报酬收入包含什么
  • 非盈利组织固定资产金额标准最新规定
  • 预收账款开票怎么做账
  • 暂估入库一直没冲会怎么样
  • 小企业会计准则和一般企业会计准则的区别
  • 运费未付的会计分录怎么做
  • 工程施工和主营业务成本关系
  • 会计账务做得混乱的原因
  • 捷波mig41tm主板
  • wrsvn.exe是什么文件
  • win7系统怎么关闭病毒防护
  • 注册表修改大全
  • 远程桌面 登录
  • Solaris 10 Openssh安装和配置
  • ksweb软件
  • linux查看磁盘挂载的命令
  • win10下如何安装vista
  • mac 怎么复制文件
  • linux内核编程指南
  • win7 64位系统怎么查看串口号?
  • win10任务栏跳来跳去
  • 笔记本接外设
  • 通过Tabs方法基于easyUI+bootstrap制作工作站
  • windows node.js
  • 即征即退什么时候确认收入
  • 财务审计报告出现数据错误怎么处理
  • 物业收电费有什么猫腻
  • 成都网上税务局
  • 建立高效的法治实施体系,需要着力解决四个问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设