一、代码规范
1.JS代码写在页内-->需要写在<script></script>标签里;<script></script>可以写在</head>前
可以写在前
JS代码写在其他文件上-->需要使用去调用
2.命名要见名知意,不可以随便使用拼音
3.‘=’左右要用空格分开,这会使看上有层次感
4.行尾分号可加可不加。看要求,如果加上分号之后所有的代码都必须加上,切忌一部分加分号,一部分不加分号。
5.所有代码里的符号都是英文符号,出现中文符号会报错
二、变量命名定义及规范
1.变量名定义
变量是用于存储信息的"容器",是命名的内存空间,可以使用变量名称找到该内存空间。
JavaScript 的变量是松散类型(弱类型)的,所谓松散类型就是用来保存任何类型的数据。在定义变量的时候不需要指定变量的数据类型。
定义变量时要使用 var 操作符(var 是关键,表示的变量),后面跟一个变量名(变量名是标识符)。格式:var 变量名;
变量定义完成后,可以存储任意类型的数据。
2.规范
变量命名必须以字母、下划线”_”或者”$”为开头。其他字符可以是字母、_、美元符号或数字。
变量名中不允许使用空格和其他标点符号,首个字不能为数字。
变量名长度不能超过255个字符。
变量名区分大小写。(javascript是区分大小写的语言)。
变量名必须放在同一行中。
不能使用脚本语言中保留的关键字、保留字、true、false 和 null 作为标识符。
一般采用驼峰命名法。(当两个或多个英文单词组合时,从第二个单词开始,之后的所有单词首字母都必须大写)
三、变量预解析
在页面内的代码如下
预解析后
相当于将声明变量这一步提到了开始,加载文件时会先进行预解析。
四、JS的数据类型
数据类型指的是可以在程序中存储和操作的值的类型,每种编程语言都有其支持的数据类型,不同的数据类型用来存储不同的数据,例如文本、数值、图像等。
JavaScript 是一种动态类型的语言,在定义变量时不需要提前指定变量的类型,变量的类型是在程序运行过程中由 JavaScript 引擎动态决定的,另外,您可以使用同一个变量来存储不同类型的数据,例如:
JavaScript 中的数据类型可以分为两种类型:
- 基本数据类型(值类型):字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined);
- 引用数据类型:对象(Object)、数组(Array)、函数(Function)。
1)String 类型
字符串(String)类型是一段以单引号`''`或双引号`""`包裹起来的文本,例如 '123'、"abc"。需要注意的是,单引号和双引号是定义字符串的不同方式,并不是字符串的一部分。
定义字符串时,如果字符串中包含引号,可以使用反斜杠``来转义字符串中的引号,或者选择与字符串中不同的引号来定义字符串,如下例所示:
2)Number类型
数值(Number)类型用来定义数值,JavaScript 中不区分整数和小数(浮点数),统一使用 Number 类型表示,如下例所示:
3)布尔(Boolean)类型
布尔(Boolean)类型只有两个值,true(真)或者 false(假),在做条件判断时使用的比较多,您除了可以直接使用 true 或 false 来定义布尔类型的变量外,还可以通过一些表达式来得到布尔类型的值,例如:
4)Null类型
Null 是一个只有一个值的特殊数据类型,表示一个“空”值,即不存在任何值,什么都没有,用来定义空对象指针。
使用 typeof 操作符来查看 Null 的类型,会发现 Null 的类型为 Object,说明 Null 其实使用属于 Object(对象)的一个特殊值。因此通过将变量赋值为 Null 我们可以创建一个空的对象。
5) Undefined 类型
Undefined 也是一个只有一个值的特殊数据类型,表示未定义。当我们声明一个变量但未给变量赋值时,这个变量的默认值就是 Undefined。例如:
在使用 typeof 操作符查看未赋值的变量类型时,会发现它们的类型也是 undefined。对于未声明的变量,使用 typeof 操作符查看其类型会发现,未声明的变量也是 undefined,示例代码如下:
js数据类型的检测方式
typeof能检测基本类型(null除外,它返回object)和函数,对于引用类型只返回object
转数值类型【Number,parseInt,parseFloat】取整 取浮点
方法一:Number(变量):
1. 在转换的过程中可以将原来的值保留,遇到小数直接保留下来,不会舍去
2. 如果变量无法转换为数值类型,那么返回的结果是NaN; 对应的数据类型依然是数值类
3. 如果将布尔类型转换为数值类型,true 转化后的结果是 1 false 转化后的结果是0
NaN:not a number【number类型】
方法二:parseInt(变量)取整
备注:
1 只会保留整数部分,通过该方式进行数据类型转换后得到就是一个整数
2. 如果一个变量中的值无法转换为具体数字,那么返回的结果是一个 NaN 的值
方法三:parseFloat(变量)取浮点
1. 在转换过程中,如果遇到小数,那么会直接将小数部分保留
2. 如果转化不成功过,返回的结果NaN
方法四:减乘除也可以转化成数值型
除了加法 减乘除都可以使数据类型直接变成数值型的
减法: 1. 如果是数值类型的变量相减,结果就是一个数值类型的结果
2. 如果是数字的字符串相减,得到的结果也是一个数值类型结果(发生了**隐式类型**转化)
var n1 = '123';
var n2 = '123';
3. 如果是非数字的字符串相减,得到的结果是NaN
转字符串类型[n.toString,String(n)]
变量.toString()
备注:
String()函数存在的意义:有些值没有toString(),这个时候可以使用String()。比如:undefined和null
Boolean(n)
备注:
''(空字符串)、null、undefined、 NaN 会转换成false;其它都会转换成 true。
比较运算符中的特例:
== 只用来比较变量中的值是否相等,不考虑数据类型
=== 用来判断值和数据类型必须同时相等
!= 判断值是否不相等,不考虑数据类型
!== 判断值和数据类型