ECMAScript基本数据类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ECMAScript基本数据类型相关的知识,希望对你有一定的参考价值。
ECMAScript有5种基本数据类型 Undefined、Null、Boolean、Number 和 String。
- Undefined类型
- 未声明、声明但未初始化的变量typeof判定数据类型的时候都是 undefined
- 声明但未初始化的变量可以对其进行undefined值类型可以执行的操作
- 未声明的变量对其使用非赋值操作都会出错
var JsTest=function(){ var str; console.log(str==undefined);//true
console.log(str);//undefined // str1=9+str; console.log(str1)//Uncaught ReferenceError: str1 is not defined // 数据类型判断 console.log(typeof str);//undefined console.log(typeof str1);//undefined
};
2.Null类型
- null表示一个空的对象指针,用于初始化空对象变量
- null是object的一个派生,typeof返回object
var JsTest=function(){ var oj=null; console.log(typeof oj);//object console.log(typeof null);//object console.log(null==undefined);//true };
3.Boolean类型 (true、false)
var JsTest=function(){ //1、布尔类型只有两个值 true和false //2、其它类型的值可以转换成布尔值(转换规则见下表) //转换方式:判断语句隐式转换 var str="hello world!" if (str) { console.log("true");//输出true,说明条件成立 } //通过Boolean函数显示转换 console.log(Boolean(str));//输出true };
数据类型 | 转换为true | 转换为false |
Boolean | True | false |
String | 非空字符串 | 空字符串 “” |
Nbmber | 非零数字值 | 0和NaN |
Object | 任何非空对象 | null |
undefined | / | undefined |
4.Number类型
var JsTest=function(){ // 整数 var num1=10;//十进制 var num2=07;//八进制 var num3=0xf;//十六进制 // console.log(+0==-0);//true, +0和-0是相等的 // 浮点数(保存浮点数的内衬空间是保存整数的两倍) var numFloat=1.2;//小数点后面必须有一个有效的整数,不然会被ECMAScript自动化整 // 数值范围 //console.log(Number.MIN_VALUE);//5e-324 最小值 //console.log(Number.MAX_VALUE);//1.7976931348623157e+308 最大值 // 超出数值范围 +Infinity(正无穷) -Infinity(负无穷) var a=Number.MAX_VALUE+1; var b=Number.MIN_VALUE+Number.MAX_VALUE; console.log(a+2);//输出还是最大值,在增加也不会变化 console.log(b);//输出:1.7976931348623157e+308 console.log(Number.MIN_VALUE-1);//输出:-1,这里有点搞不懂 // 数值超出有效范围之后在进行计算是无意义的 // 判断一个值是否超出数值表示范围: console.log(isFinite(a));//true // NaN非数值 // 处理数值操作时出现的特殊情况 console.log(10/"d");//NaN console.log(NaN+10);//NaN 有NaN参与的计算都返回NaN console.log(NaN==NaN)//false 不能判等感觉有点方 console.log(isNaN(10/‘a‘));//true 判断是否是NaN };
5.String 类型
var JsTest=function(){ // 定义方式 var str="javascript"; var str1=‘hello world!‘; console.log(str);//JavaScript console.log(str1);//hello world! //字符串拼接 console.log(str+","+str1+"!");//JavaScript,hello world!! //字符长度属性 console.log(str.length);//10 ,字符中的空格也算,有字符字面量也算 var str2="hello你 好!\n"; console.log(str2.length);//10中文字符也按字数算长度 };
基本类型的特点
1.基本数据类型是按值访问的,操作的实际是保存在变量中的值。
2.给基本类型设置属性和方法是不允许的。
var name=‘jay‘;
name.len=3;
console.log(name.len);//undefined
3.一个基础类型变量给另外一个变量赋值的时候,只是单纯的值赋值,赋值之后两个变量完全独立互不影响。
var num1=10; var num2=num1; num2+=15; console.log(num1);//10 console.log(num2);//25
4.函数传参的时候,基本类型也是按值传递的,只进行简单的值复制。
检查数据类型
对于基本数据类型使用typeof操作符可以检测出来
var num1=10; var str="ssss"; var tag=true; var num; var car=null; var obj=new Object(); console.log(typeof num1); //number console.log(typeof str);//string console.log(typeof tag);//boolean console.log(typeof num);//undefined console.log(typeof car);//objec console.log(typeof obj);//object
以上是关于ECMAScript基本数据类型的主要内容,如果未能解决你的问题,请参考以下文章