JavaScript

第一章

js是弱类型编程语言,表现在:

1. 声明变量时,不用规定变量存储的数据类型
2. 赋值时,动态决定变量的数据类型,同一个变量,先后可保存不同类型的数据
3. 运算时,js会根据需要,动态转换数据的类型

 

标识符丶变量声明:

所有 JavaScript 变量必须以唯一的名称来标识,这些唯一的名称称为标识符。

声明

构造变量名称(唯一标识符)的通用规则:

  • 名称可包含字母、数字、下划线和美元符号
  • 名称必须以字母开头
  • 名称也可以 $ 和 _ 开头(但是在本教程中我们不会这么做)
  • 名称对大小写敏感(y 和 Y 是不同的变量)
  • 保留字(比如 JavaScript 的关键词)无法用作变量名称

变量声明:var

变量赋值:=

取变量值(使用变量名等效于使用变量中的值)
声明提前:程序开始执行前,将所有var声明的变量提前到开始位置,赋值留在原地(js在解析的时候总是会将var,function这类关键词的声明语句提升至作用域的最顶部(注意:这里只会提升声明的部分,赋值不会被提升))

 

数据类型:

https://www.cnblogs.com/chargeworld/articles/11372894.html

 

js的变量对比数据库:

js中的变量 数据库
内存中 硬盘上的文件
临时的 持久的
客户端 服务器端只存一份



 

 

 

全局变量与局部变量:

  1. 变量分为“全局变量”和“局部变量”,“全局变量”申明在函数外部,可供所有函数使用,而“局部变量”申明在函数体内部,只能在定义该变量的函数体内使用。
  2. 在函数体内,局部变量的优先级高于全局变量。
  3. 函数体内部可以直接得到外部的全局变量,但是外部要得到函数体内部的局部变量是不行的。但是,通过在函数体内部再定义一个函数返回局部变量,再从外部调用函数就能实现了(闭包)

 

 

类型转换:

表达式:由数据,变量和运算符组成的一个公式,每个表达式默认都从左向右,两两计算,*每个表达式有且仅有一个运算结果!*

1. 隐式转换:无需程序员干预,js自动完成的类型转换

隐式转换,仅影响表达式的运算结果,不影响变量中存储的实际值。

算数计算中,一切类型都隐式转为number类型,再计算

特例:+运算中,只要有一方是字符串,两数据都转为字符串,且+运算变为字符串拼接!


2. 强制转换:程序员通过主动调用专门函数,执行转换

 js中,一切数据都有toString方法

NaN:Not a Number-->说明运算中包含了无法转为数字的值
不是数字 的 数字
NaN和任何数据做计算,永远返回NaN
typeof(x): 专门用于判断x的数据类型,返回数据类型名
typeof(NaN): number

posted @ 2019-08-18 15:38  知一以天  阅读(68)  评论(0编辑  收藏  举报