优雅的JavaScript-数据类型
来源:互联网 发布:淘宝logo的意义 编辑:程序博客网 时间:2024/05/23 00:53
原始数据类型 引用数据类型Undefined 对象Null 数组Boolean 函数NumberString
原始数据类型---Undefined
1.Undefined 类型只有一个值,即特殊的Undefined; 在使用var 声明变量但未对其进行初始化,这个变量值为Undefinded 如:var message;2.Undefinded指的是未定义的类型,如果alert(a)一个不存在的变量,会直接报错,而不是Undefined 可见Undefined和正真未声明还是有区别: 1.他是一种特殊类型 2。但是typeof未定义类型或者不存在不变量都返回Undefined 例如: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><script type="text/javascript">//alert(a);//未定义就使用会报错// var b;//alert(b);////alert(typeof b);var c=5;alert("c:"+c);</script></body></html>
原始类型---null
它只有一个专用值null,即它的字面量,值undefined实际上是从null派生来的,因此在ECMAScript中将两者定义为相等例如: alert(null==undefined);//输出true 尽管两者的值相等但他们的含义不同 undefined是声明了变量但未对其初始化时赋予该变量的值 null用于表示尚未存在的对象,如果函数或者方法要返回对象,此时如果找不到部队向,通常直接返回null注意: 如果单纯定义一个变量的初始化值为null,他返回的类型为object
原始数据类型---Boolean
只有两个值 true、false ,区分大小写和Java里一样例如: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><script type="text/javascript">//var flag=true;//alert(typeof flag);//alert(2==5);alert(undefined==null);</script></body></html>
原始数据类型---number
1.数值的分类: 1.整型: 八进制: 十六进制: 十进制: 2.浮点型 3.特殊值: Infinity 无穷大 NaN(0/0) 不是数值类型如: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><script type="text/javascript"> var num = 6.34; /*//定义八进制,一般以0开头,组成部分0~7之间的数字 var num1=012; //十六进制,一般以0X开头,组成部分0~9,A~F之间的数字和字符 var num2=0x78; var num3=-3/0; //infinity和-infinity,number数据类型的两个特殊值 var num4=-infinity; var num5=0/0;//NaN //NaN是number类型的一个特殊值,不等于任何类型,连自己都不相等*/ /* alert(NaN == NaN); alert(typeof num);*/ var num6=28;//默认就是28 var num7=.9//默认为0.9 //通过isFinite()判断一个数是否有限值,有限就返回true,否则返回false// alert(isFinite(-6/0)); //isNaN():判断是否是非数字有就返回true,否则返回falsealert(isNaN("ssfdg"));</script></body></html>
浮点型:
1.浮点型定义: 浮点数字:该数字钟包含一个小数点,而且小数点后面必须至少有一位数字 2.浮点型数据的类型: 1.直接含有小数点 如:3.15 2.还可以使用指数计数法(实数后面跟一个e或者E,后面跟正负号,后面再加上一个整型的指数)1.243243E=-32
特殊值
1.Infinity:无穷大 1.Infinity:正无穷大 2.-Infinity:负无穷大 通过isFinite()判断是否有限大2.NaN 1.代表非数字值的特殊值,该属性用于指示某个值不是数字 2.NaN有两个特点: 1.任何和NaN的操作都是会返回NaN 2.NaN与任何数值都不相等,包括自身 3.不能用number.Nan比较来检测一个值是否是数字,而是使用isNaN()来比较 4.isNaN()函数如果X是特殊的非数字值NaN 例如: alert(isNaN(3));//false alert(isNaN(“blue”));//true alert(isNaN(true));//false alert(isNaN(null));//false alert(isNaN(undefined));//true
原始数据类型---String
1.由单引号或者双引号括起来的字符序列 如:“122”,2.转义字符: 用一些普通的字符的组合来替代一些特殊字符,由于其组合改变了原来字符表示的含义,称之为转义 1.字符型常量:表示的值是字符类型变量所能包含的值,通常用AscII表达式来表示一个字符常量 或者可以用单引号或者双引号内加上反斜杠表示转义字符 转义字符: \' 单引号 \" 双引号 \& 和号 \\ 反斜杠 \n 换行符 \r 回车符 \t 制表符 \b 退格符 \f 换页符
类型的转换
1.隐式转换2.显示转换
隐式转换
1.转换成布尔类型<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><script type="text/javascript">/* //Undefined自动转换成false var a; if(a){ alert("true") }else{ alert("false"); }//null自动转换成false if(null){ alert("转换成true"); }else{ alert("转换成false"); }*///nnmber --->boolean//0,0.0,NaN-->false 其他数值转换成true/** String---》Boolean* ""转换false;* 对象转换成true** */ var num=new Object(); var date=new Date(); if(date){ alert("转换成true "); }else{ alert("转换成false"); }</script></body></html>结论: 1.Undefined--->false 2.null----》false 3.数值 0,0.0 ,NaN---->false 其他数值都是true 4.字符串 ""--->false "有内容"----》true 5.其他对象都是true2.转换成数值类型<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><script type="text/javascript">/*undefined---->NaNnull---->0boolean--->number 类型 true----》1 false----》0String---->number类型 ""---->0 "234"----->234 "a123"----->NaN "0x90"---->转换成十六进制对应的十进制 */alert("0x90t"-6);</script></body></html>结论: undefined---->NaNnull---->0boolean--->number 类型 true----》1 false----》0String---->number类型 ""---->0 "234"----->234 "a123"----->NaN "0x90"---->转换成十六进制对应的十进制3.转换成字符串类型结论: number----->String 23---->"23" NaN--->"NaN" infinity----->"infinity"boolean----->string false--->"false" true---->"true" undefined---String undefined---->"undefined"
显示转换
1.Boolean类型<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><script type="text/javascript">//Boolean();小括号里面写的是参数,把要转换的值放进小括号里,就得到一个Boolean类型的值 /*undefined转换成false null转换成false number---->boolean 0,0.0 ,NaN---->false 其他数值为true String----》Boolean*/ var flag=Boolean(new Date()); alert(flag+" "+typeof (flag))//flag----》true</script></body></html>结论: 类型转换规则Boolean(); 0,-0----》false 1,2,3---->true NaN--->false 空字符串------>false 其他为true undefined------>false null----->false 显示转换---数值类型转换<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><script type="text/javascript">var str="23.34dhfdshfkjhkds";var str1="23.44vfdsgf";alert(parseInt(str));var num=parseFloat(str1);alert(num);</script></body></html>结论: Numbetr()可以将其他类型转换成数值类型 undefined--->NaN null---->0 true---->1 false---->0 字符串--->如果可以解析为数值,则转换成数值,否则为NaN,0 空字符串----》0 parseInt()和ParseFloat()使用----->只能将字符串转类型换成数值类型 1.字符串全部为数字,“234“------》234 2.字符串中包含数字和非数字(从左往右截取,直到遇到第一个非数字为止) “a234”---->NaN "234hfshdkjf"----->234 ""----->NaN 显示转换----字符串类型 结论: 1.String()函数可以将其他的类型强制转换成字符串类型 数值-----》数值本身 字符串-----》字符串本身 true---》“true” false----》“false” null--->“null”
阅读全文
0 0
- 优雅的JavaScript-数据类型
- 优雅的javaScript代码
- 优雅的JavaScript-基础
- 优雅的JavaScript-常用类
- 优雅的JavaScript-BOM详解
- 优雅的JavaScript-面向对象
- 优雅的JavaScript-定时器详解
- 优雅的JavaScript-多媒体详解
- python的优雅:数据类型的讲究
- 教你编写优雅的JavaScript代码
- 编写优雅的JavaScript——前言
- 最优雅,高效的javascript字符串拼接
- JavaScript中‘this’关键词的优雅解释
- JavaScript中‘this’关键词的优雅解释
- Javascript中使用noscript的优雅降级
- 优雅的JavaScript-基础语法详解
- 如何优雅的编写JavaScript代码
- JavaScript 的数据类型
- JavaScript运算
- 用面向对象继承的思想设定游戏中怪物的属性和方法
- 【Java集合源码剖析】Java集合框架
- Genymotion模拟器sd卡的位置
- 自定义DialogFragment
- 优雅的JavaScript-数据类型
- DD测磁盘读写性能
- idea搭建非maven项目需要注意的问题。
- iconv() [function.iconv]: detected an illegal character in input string
- Hdu 6038 Function【思维+强连通找环】
- 关于 tomcat 集群中 session 共享的三种方法
- 一个Httpclient工具函数的案例
- iOS开发——OC和JS混编
- 开发单页应用(SPA)时候遇到的微信支付授权目录的坑