JavaScript深度指南(非常全)-入门学习4

64 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第21天,点击查看活动详情

引用值

  • Array 数组
var arr = [1, 2, 3, 4, 5, 6, 7]

数组是通过索引去获取值和赋值,数组索引是从0开始的

arr[5] //6
arr[3] = null; //[1, 2, 3, null, 5, 6, 7]

通过length获取数组的长度,长度说从1开始的,当我们知道长度的时候,也可以通过循环打印出数组里面从值

console.log(arr.length);// 7
for (var i = 0; i < arr.length; i++) {
    console.log(arr[i])
}

da0b086ec295f9d2204ba3528fb6e2a.png 通过索引去赋值

for (var i = 0; i < arr.length; i++) {
    arr[i] += 2
}

d8d831580265d93a1dfdac4a61bd385.png

  • Object 对象
var person = {
  //键名(属性名): 键值(属性值),用逗号分开
      name: "小爽",
      age: 18,
      height: 180,
      weight: 140,
      job: 'WEB开发
  }
  //我们想把name修改一下
  person.name = "小石;
  console.log(person.name) //小石
  
  • typeof 判断类型
    console.log(typeof(123)) //number
    console.log(typeof('123')) //string
    console.log(typeof(true)) //boolean
    console.log(typeof({})) //object
    console.log(typeof([])) //object
    console.log(typeof(null)//object
    console.log(typeof(undefined)) //undefined
    console.log(typeof(function() {})) //function

我们发现typeof去判断{} []都是object,这是因为object = 引用类型 object/array,我们也可以看见null也是object,这个bug是第一版Javascript留下来的,javascript中不同对象在底层都表示为二进制,而javascript 中会把二进制前三位都为0的判断为object类型,而null的二进制表示全都是0,自然前三位也是0,所以执行typeof时会返回 bject

当我们遇到没有定义的变量时会返回undefined

console.log(typeof(a)) //undefined

我们去判断typeof(typeof(a))这样的,返回string,就是typeof()的值就是string 这里就总结一下typeof是一个一元运算符,它返回的结果 始终是一个字符串,对不同的操作数,它返回不同的结果

  • 对于数字类型的操作数而言, typeof 返回的值是 number
  • 对于字符串类型, typeof 返回的值是 string
  • 对于布尔类型, typeof 返回的值是 boolean
  • 对于对象、数组、null 返回的值是 object
  • 对于函数类型,返回的值是 function
  • 如 果运算数是没有定义的(比如说不存在的变量、函数或者undefined),将返回undefined