JavaScript(一)语言基础

本文详细介绍了JavaScript中的变量声明,对比了var与let、const的区别,强调了块级作用域的重要性。同时,深入探讨了数据类型的特性,包括基本类型和引用类型,并特别讨论了Symbol的独一无二和Object类型的复杂性。理解这些基础知识对于JavaScript开发者至关重要。
摘要由CSDN通过智能技术生成

JavaScript学习笔记

JavaScript(一)语言基础

1 .var和let

  • 在函数内部定义var为局部变量,如果省略var则是全局变量
  • let声明的范围是块作用域,而var声明的范围是函数作用域,let作用域仅限于该块内部
  • 块作用域是函数作用域的子集,因此适用于var的作用域限制也会适用于let作用域
  • var声明的变量会自动提升到函数作用域的顶部,let声明的作用域不会再声明中被提升
  • let在全局作用域中声明的变量不会变成为window对象的属性,var声明的变量则会
  • for循环中var变量会渗透到循环体内部,let变量作用域仅限于循环体内部

2.const

  • const的行为与let基本相同,唯一区别是它声明变量的同时必须初始化变量
  • 尝试修改const声明的变量会导致运行错误
  • 不能用const来声明迭代变量
  • 使用const声明可以让浏览器运行时强制保持变量不变
  • 优先使用const变量,只在提前知道未来会有修改时再使用let

数据类型

在 ECMAScript 规范中,共定义了 7 种数据类型
基本类型:String、Number、Boolean、Symbol、Undefined、Null

引用类型:Object

- undefined
声明变量却没有初始化

- Null空值
null值表示一个空对象指针
定义将来要保存对象值的变量时用null初始化,而不用其他值
typeof传一个null值会返回object
操作符(==)比较null和undefined会返回true

- Boolean 布尔值
包括true和false

- Number 数值型
包括整型和浮点型
转化为整型parseInt()
转化为浮点型parseFloat()

- string 字符串型
字符串是不可变,意思是一旦创建不可修改
要修改某个变量的字符串值,必须先销毁原始的字符串值
转换成字符串为tostring()(除null值和undefined值)

- symbol 符号
ES6新增数据类型
符号是原始值,且符号实例是唯一不可变的
符号的用途是确保对象属性使用唯一标识符,不会发生属性冲突危险。
符号没有字面量语法,这也是他们发挥作用的关键

- object 类型
一组数据和功能的集合
通过创建object类型的实例来创建自己的对象

typeof操作符

对于基本类型,除 null 以外,均可以返回正确的结果。
对于引用类型,除 function 以外,一律返回 object 类型。
对于 null ,返回 object 类型。
对于 function 返回 function 类型。

instanceof

instanceof 是用来判断 A 是否为 B 的实例,表达式为:A instanceof B,如果 A 是 B 的实例,则返回 true,否则返回 false。 在这里需要特别注意的是:instanceof 检测的是原型
instanceof 只能用来判断两个对象是否属于实例关系, 而不能判断一个对象实例具体属于哪种类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值