JavaScript基本数据类型

基本数据类型

一.数值类型:number 判断类型:typeof判断后的类型以字符串形式展现出来 如typeof 1 结果:number

​ 1 .特殊:Infinity(无穷大) NaN 和非数值类型进行运算,除了加法,得不出正确的结果.

​ 科学计数法:如1.2e4=1.2*10^4

​ 2.JS语言特性:运算有可能不太准确

​ (1)小数:没有办法精确表示,累计运算误差会叠加

​ 解决方式:1)先成运算成整数,再除

​ 2)自己分装一个算法函数

​ (2)数值再大就不行了=》超出了一定范围就会表示成Infinity(-Infinity)

​ 最大安全数:Number.MAX_VALUE 1.7976931348623157+308 (+号表示正数 1.79的308位)

​ 最大安全整数:Number.MAX_SAFE_INTEGER 9007199254740991(17位数)

​ 最小安全数:Number.MIN_VALUE

​ 3.进制转换。不要在数字前面添加奇怪的符号 (满进制数进一位,后面变为0)

​ 公式:(1)在n进制中,将一个数:abcd转成为10进制 an^3 + bn^2 + c*n + d

​ (2)将十进制转二进制(在控制台中):(需要转的数字).toString(需要转的进制) 如:51转二进 制:(51).toSting(2)=“110011”

​ (1).十进制:0 1 2 3 4 5 6 7 8 9 满10进1

​ (2) 二进制:0 1 满2进1 比如十进制的2:用2进制表示10

​ 控制台中: 二进制转十进制:0b开头 如0b10=3

​ (3) 八进制:0 1 2 3 4 5 6 7

​ 控制台中: 八进制转10进制:0开头 如017=15

​ (4) 十六进制:0 1 2 3 4 5 6 7 8 9 a b c d e f 十六个表示符

​ 控制台中: 十六进制转十进制:0x开头

二.字符串:string

​ 1.左右两边加上相同的引号的都是字符串:

​ 2. 没有特殊含义的文本,用它来表示文本

​ 3.可以用单引号‘’ 可以用双引号“” 还有个反引号``(这个可以兼容换行)

​ 4.字符串中有一个特殊的符号:转义符 \:(反斜杠)能将后面的符号 转换成没有特殊含义的符号 , 如" 会把引号转成没有特殊含义的引号 如:“\”“=》”"“ 如打印" \ “=>”\ \ " 如果要输出3个反斜杠,则需要六个反斜杠

​ 如:let box = “” 需要转变为“<\ /script>”才可以

​ 像这样有些特殊的字符串需要转义一下,否则会出现歧义

​ /:(斜杆)

​ 5.\n可以执行换行 如“婷\n猪”=>"婷

​ 猪“

​ 6.字符串拼接:

​ (1) 普通字符串

​ 如:let name = “婷猪”

​ let world = “嗯啊”

​ let str = name + "说:\ “” + world + " \ “”

​ console.log(str)

​ 结果:婷猪说:“嗯啊”

​ (2)模板字符串拼接:使用反引号拼接,可以让拼接变得更可读,在模板字符串中使用${ }在{ } 中可以插入变量. 替换+号

​ 如:let name = “婷猪”

​ let world = “嗯啊”

​ let str = ${name}说:"${word}"

​ 结果:婷猪说:“嗯啊”

​ 7.空字符串也是字符串

三,布尔类型(boolean):判断某些内容的结果是真是假 true 或 false

​ 1.自己定义什么为真,什么为假

我们所写的代码(表达式 )都会有返回值。为什么要有返回值,浏览器靠什么判断你的代码执行完了,即代码是否返回完了。

四,underfined(未定义)

​ 含义:表示访问了一个不从在的内容,或者是没有给定初始值的内容(属性)

​ typeof undefined =>undefined

五,null(空:不存在 )

​ 含义:规定这个东西不存在。使用null。指向了一个不存在的空间

​ 一般用于清空内容:使变量=null.是个主动值

​ typeof null => object

六,object(一个不存在的对象):对象类型

​ 1. 任何值都有自己的数据类型

​ 2.用对象的形式来进行整合:{ } 可以在对象中添加属性 (信息)

​ 3.信息的构成:属性名(name): 推荐大家写字符串,默认情况不写引号,推荐不写,在JS中只有这个地方字符串可以不写引号

​ 属性值(value): 某个数据类型

​ 如:小胖猪的个人信息:

let person = {
   "name":"小胖猪"
}
或:
let person = {
   name:"小胖猪"
}
结论:默认情况不写引号,推荐不写
     在JS中只有这个地方字符串可以不写引号
从person对象中访问name属性:
      person.name
  1. 对象的基本操作:

    ​ 对象的创建:用{ } 可以直接创建。

    ​ person【s】:里s是变量。

    ​ person.s :s是字符串

        如:创建一个变量(person),将一个空对象赋值给person
        let person = {}
    

    ​ 对象属性的:

    ​ (1)增加:(添加一个不存在的属性)

    ​ 方法1:对象. 操作数 添加的值 //这里属性直接是字符串,不是变量

    给person添加一条属性。值是小胖猪
    这个时候name就不是一个变量了,而是person的属性
    如:person.name = "小胖猪"
    则:就添加了一条name的属性
    

    ​ 方法2:在创建时添加

    如:let person = {
          age: 18,
          type:"student",
    }
    每条信息之间用逗号隔开。age这里是字符串
    

    ​ 方法3:对象[属性]=值 //这里属性直接是变量,不是字符串

    给person添加一条name属性。值是小胖猪
    person["name"]="小胖猪"
    则:name:"小胖猪"
    

    判断那条属性所对应的值:
    1.如:let s = "sex"
          person[s] = "male"
      则:sex:"male"
    2.如: let s = "sex"
          person.s = "male" 
      则:s:"male"
    3.如:let n = "name"
          let person={
            ["n"]:"小胖猪"
          }
      则:n:"小胖猪"
    4.如: let n1 = "na"
           let n2 = "me"
           ler person = {
             [n1+n2]:"小胖猪"   //[`${n1}${n2}`]:"小胖猪"
           }
      则:name:"小胖猪"
    5.let a
      let person = {
         [a]:"小胖猪"
      }
      则:underfined
    

    ​ (2)删除(delete):delete 对象访问属性的写法 1. a.b 2.a[“b”]

    如;delete a.b
       或delete a["b"]
    

    ​ (3)修改:等于增加(两步 操作),如果有这条属性就修改这条属性,如果没有就增加

    如果想修改属性的属性名:
    1.将原来的属性值存下来,
    2.删除原来的属性名
    如:person.oldname = person.name
       delete person.name
     则:person就把person.name改为person.oldname   
    

    通过嵌套的删除:
    let obg = {
         a:{
            b:"文本"
         }
    }
      delete obg.a.b    
    则:a对象里的b属性被删除
    

    ​ (4)查询:等价于添加的左半部分

如;let person = {
    na:"小胖猪"
}
则:person.na
    即可查询到"小胖猪"

​ 5.每条信息之间用逗号隔开,最后一行后面也需要添加

​ 6.对象里面是可以嵌套的。

如:let obg = {
     a:{
        b:"文本"
     }
}

七:报错:uncaught typeError:cannot red property ‘c’ of undefined

​ 含义:没有办法从undefined中读取c属性。

​ 解决办法:如:person.a.b.dd.c.v (嵌套的)

​ 因为c这块报错了,所以找到c前面的dd,知道是它出了问题。这时检查dd就ok了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值