js变量初探

简介: js是一种无类型弱检测的语言,它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式就可以将各种类型的数据赋值给同一个变量;而且js中的变量是松散类型的,可以存储任何类型的数据;由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内改变

js是一种无类型弱检测的语言,它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式就可以将各种类型的数据赋值给同一个变量;而且js中的变量是松散类型的,可以存储任何类型的数据;由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内改变

变量命名方法与规则:
1.变量的命名方法
(1)匈牙利命名法:变量名=类型+对象描述,变量的类型有:Int(整形)、Float(浮点形)、Boolean(布尔形)、String(字符串)、Array(数组)、Object(对象)、Function(函数)、Regular Expression(正则)等
(2)驼峰命名法:驼峰命名法又分为两种,一种是大驼峰,即变量名的每个单词首字母都大写,例如:TheNumber;第二种是小驼峰,即变量名的第一个单词首字母小写其他首字母大写,例如:theNumber
(3)横线连接法:即变量名的单词与单词间用下划线或者短横线连接,例如:the-number或the_number
2.变量的命名规则:
(1)变量名可以包含字母、数字、下划线和美元符号
(2)变量名首字母必须为英文字母(严格区分大小写)、美元符号或者下划线
(3).不允许使用js关键字和保留字做变量名
3.变量的声明:
(1)变量的显式声明即用 ‘var 变量名’表示,不通过var的声明为隐式声明
(2)变量必须先声明后读写,先赋值后运算
(3)定义变量不用立即赋值,可以同时声明多个变量用逗号(,)隔开
(4)同一变量可以多次声明,声明的位置不同使用范围等意义不同
4.变量的类型有哪几种
(1)值类型:值类型包含数值、布尔值、字符串、null和undefined,值类型被构造后占用空间且占用空间固定,它被保存在栈中,在后续操作中保存与复制的都是其自身,可以使用typeof来检测数据的类型,基本类型数据为值类型
(2)引用类型:使用new()方法构造出的对象是引用型的,它包含对象、数组和函数,引用类型被构造出后被保存在堆中且占用空间不固定,它在操作的时候被保存和复制的通常是内存地址或者指向该对象的指针,使用instanceof来检测数据的类型

变量的作用域:
1.变量包含两种:
(1)全局变量:包括在函数体外定义的变量和在函数体内定义的无var变量,可以在任何位置调用,在顶层代码中我们使用this关键字和window对象都可以访问到它
(2)局部变量:包括在函数内部使用var声明的变量和函数的参数变量,只能在当前函数体内调用
2.不同变量的优先级:
局部变量高于参数变量高于全局变量
3.变量都有哪些特性:
(1)全局变量是全局对象的属性,局部变量是调用对象的属性
(2)内部函数可访问外层函数的局部变量,外层函数不能访问内层函数的局部变量
(3)全局变量除非被显示删除,否则一直存在;局部变量自声明起至函数运行完毕或被显式销毁;因此在程序设计中我们需要考虑如何合理声明变量,这样既减少不必要的内存开销,同时也能很大程度地避免变量重复定义而覆盖先前定义的变量所造成的Debug麻烦。
(4)另外还可以使用标记清零和引用计数等回收机制结束变量的生命周期
(5)JS变量没有块级作用域
(6)当我们访问一个没有声明的变量时JS会报错,而当我们给一个没有声明的变量赋值时JS不会报错,相反它会认为我们是要隐式申明一个全局变量
(7)用var关键字声明的变量,未经初始化时保存的是一个特殊的值—undefined,变量初始化仅仅是给变量赋一个值
(8)使用更具语义的变量名,让代码的可读性更强

特殊数值常量:
Infinity:无穷大的特殊值
NaN:非数字值
Number.MAX_VALUE:可表示的最大数字
Number.MIN_VALUE:可表示的最小数字
Number.NaN:非数字值
Number.POSITIVE_INFINITY:正无穷大
Number.NEGATIVE_INFINITY:负无穷大

目录
相关文章
|
4月前
|
JavaScript 前端开发
JavaScript如何判断变量undefined
JavaScript如何判断变量undefined
|
4月前
|
JavaScript 前端开发
JavaScript基础知识-变量的声明提前
关于JavaScript变量声明提前特性的基础知识介绍。
52 0
JavaScript基础知识-变量的声明提前
|
2月前
|
前端开发 JavaScript
如何在 JavaScript 中访问和修改 CSS 变量?
【10月更文挑战第28天】通过以上方法,可以在JavaScript中灵活地访问和修改CSS变量,从而实现根据用户交互、页面状态等动态地改变页面样式,为网页添加更多的交互性和动态效果。在实际应用中,可以根据具体的需求和场景选择合适的方法来操作CSS变量。
|
2月前
|
前端开发 JavaScript 数据处理
CSS 变量的作用域和 JavaScript 变量的作用域有什么不同?
【10月更文挑战第28天】CSS变量和JavaScript变量虽然都有各自的作用域概念,但由于它们所属的语言和应用场景不同,其作用域的定义、范围、覆盖规则以及与其他语言特性的交互方式等方面都存在明显的差异。理解这些差异有助于更好地在Web开发中分别运用它们来实现预期的页面效果和功能逻辑。
|
2月前
|
前端开发 JavaScript UED
如何使用 JavaScript 动态修改 CSS 变量的值?
【10月更文挑战第28天】使用JavaScript动态修改CSS变量的值可以为页面带来更丰富的交互效果和动态样式变化,根据不同的应用场景和需求,可以选择合适的方法来实现CSS变量的动态修改,从而提高页面的灵活性和用户体验。
|
4月前
|
存储 前端开发 JavaScript
前端基础(二)_JavaScript变量、JavaScript标识符、JavaScript获取元素、JavaScript的鼠标事件
本文介绍了JavaScript变量的声明和使用、标识符的命名规则、如何获取和操作HTML元素,以及JavaScript的鼠标事件处理,通过示例代码展示了这些基础知识点在实际开发中的应用。
53 2
前端基础(二)_JavaScript变量、JavaScript标识符、JavaScript获取元素、JavaScript的鼠标事件
|
3月前
|
JavaScript 前端开发
局部 JavaScript 变量
JavaScript 中,函数内部使用 `var` 声明的变量为局部变量,仅在函数内可见,函数执行完毕后被删除。全局变量则在函数外部声明,整个页面的脚本和函数均可访问,页面关闭后才被删除。未声明的变量赋值会自动成为 `window` 对象的属性,且在非严格模式下可被删除。
|
4月前
|
JavaScript 前端开发
js 变量作用域与解构赋值| 22
js 变量作用域与解构赋值| 22
|
3月前
|
JavaScript 前端开发
什么是JavaScript变量?
什么是JavaScript变量?
44 0
|
4月前
|
存储 JavaScript 前端开发