JS中的数据类型

JS中的七种数据类型

1、number  2.string  3.boolean  4.symbol  5.null  6.undefined 7.object

注意:没有 array 类型也没有 function 类型。

number(数字类型)

var  y= 1 // 整数
var y=  1.1 // 小数
var y= 1.23e2 // 科学计数法
var y=0b11 // 二进制
var y=011 // 八进制(后来 ES5 添加了 0o11 语法)
var y=0x11 //十六进制

注意:以0b开头的表示二进制,以0开头的表示八进制,以0x开头表示十六进制

string(字符串类型)

var y='你好' //中文字符串
var y="你好" //中文字符串
var y='abc' //英文字符串
var y='1' //数字字符串
var y=' ' //空字符串,length=0
var y=' ' //空格字符串,length=1

1、字符串中转义符\的应用:

var x='\' //转义符,一个整体
var x='\n' //表示回车键,length=1
var x='\t' //表示Tab键,length=1
var x='\\' //表示斜杠\,length=1

2、多行字符串

 var y='12345 \
        67890'  //在换行的地方加上一道斜杠,不然表示错误(方法1)

 var y2='12345 '+'67890' //(方法2)

 var y3=`12345
 6789` //ES6增加表达方法,利用反引号,包括回车在内的长度:length=10(方法3)

注释:方法2是最佳写法,如使用方法1斜杠后面不能是空格符号,否则会报错。

boolean(布尔类型)

布尔类型值只有true和false;

其中false出现情况只有六种分别是0、null、false、unfined、NaN、" "或' '(空字符串)

其他情况均为true值,如:空数组,空对象、负值、正值等。

布尔数据类型与运算符&&(与),||(或)的结合使用:a&&b,a||b


a&&b
a||b

null和undefined类型

两者都表示没有值,含义相似。
两者的区别:
(规范)如果一个变量没有被赋值,那么这个变量的值就是 undefiend
(习俗)如果你想表示一个还没赋值的对象,就用 null。如果你想表示一个还没赋值的字符串/数字/布尔/symbol,就用 undefined(但是实际上你直接 var xxx 一下就行了,不用写 var xxx = undefined)

object(对象类型)

object 就是上面几种基本类型(无序地)组合在一起的。

var person={
            'name':'fei' //string类型
            'age':18 //number类型
            'gende':'male' //string类型
            }

注意:以上说明对象类型是复杂类型,他由简单类型组成。当我们要读取对象里面数据时,可以使用person['name'],注意括号里面的单引号不能省略。

var name='fei' //undefined  全局变量
  var person={
            'name':'fei' //string类型
            'age':18 //number类型
            'gende':'male' //string类型
            }

注意:如使用person[name]没有单引号,这个时候实际访问的person['fei']打印出来的就是undefined。

var person={
            'name':'fei' ;
            'age':28 ;
            'gende':'male' ;
            'children':{'name':'qin','age':5} //对象中包括对象
            }

注意:如果对象中的'name'命名如果符合标识符命名规则,那么访问对象中name内容可以由person['name']改成person.name,这是个特例。

delete、in、forin和typeof用法

1.delete命令delete用于删除对象的属性,删除成功后返回true。用in来验证是否完成对象中数据类型的删除。如果包含就返回true,否则返回false。


第一种 清空value和key

第二种 只清空了value

注意:第一种情况:delete对象中的'name',再去访问person['name'],显示是undefined(无value);
delete对象中的'name',再去验证'name' in person,显示是false(无key)
第二种情况: 如果我们没有用delete删除对象中的'name',而是用person['name']=undefined这种情况只是把value清空了,但是key还是存在的。
2.for-in用来遍历对象

for-in的用法

注意:打印出来的name和age顺序是随机的。
打印value

注意:console.log(person.key)是打印不出任何东西,里面等价于字符串key,而key是变量,可以改成(person[key]), 如果要同时打印key和value,应改(key,person[key])。
3.typeof操作符,可以确定一个值到底是什么样的数据类型。
typeof

typeof 1 //number类型
 typeof 'sss'//string类型
 typeof null //object对象(特例)
 typeof function //function函数(特例)
function

typeof操作符

注意:null的typeof不一样,只是一个bug。 function 并不是一个类型,只有声明函数的时候会出现。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。