JS基础(一)规范

141 阅读6分钟

一、代码规范

  1.JS代码写在页内-->需要写在<script></script>标签里;<script></script>可以写在</head>

2.png 可以写在前 3.png JS代码写在其他文件上-->需要使用去调用

1.png

2.命名要见名知意,不可以随便使用拼音

3.‘=’左右要用空格分开,这会使看上有层次感

4.行尾分号可加可不加。看要求,如果加上分号之后所有的代码都必须加上,切忌一部分加分号,一部分不加分号。

5.所有代码里的符号都是英文符号,出现中文符号会报错

二、变量命名定义及规范

1.变量名定义

变量是用于存储信息的"容器",是命名的内存空间,可以使用变量名称找到该内存空间。

JavaScript 的变量是松散类型(弱类型)的,所谓松散类型就是用来保存任何类型的数据。在定义变量的时候不需要指定变量的数据类型。

定义变量时要使用 var 操作符(var 是关键,表示的变量),后面跟一个变量名(变量名是标识符)。格式:var 变量名;  

变量定义完成后,可以存储任意类型的数据。

2.规范

变量命名必须以字母、下划线”_”或者”$”为开头。其他字符可以是字母、_、美元符号或数字。

变量名中不允许使用空格和其他标点符号,首个字不能为数字。

变量名长度不能超过255个字符。

变量名区分大小写。(javascript是区分大小写的语言)。

变量名必须放在同一行中。

不能使用脚本语言中保留的关键字、保留字、truefalsenull 作为标识符。

一般采用驼峰命名法。(当两个或多个英文单词组合时,从第二个单词开始,之后的所有单词首字母都必须大写)

三、变量预解析

在页面内的代码如下

4.png

预解析后

5.png

相当于将声明变量这一步提到了开始,加载文件时会先进行预解析。

四、JS的数据类型

数据类型指的是可以在程序中存储和操作的值的类型,每种编程语言都有其支持的数据类型,不同的数据类型用来存储不同的数据,例如文本、数值、图像等。

JavaScript 是一种动态类型的语言,在定义变量时不需要提前指定变量的类型,变量的类型是在程序运行过程中由 JavaScript 引擎动态决定的,另外,您可以使用同一个变量来存储不同类型的数据,例如:

6.png

JavaScript 中的数据类型可以分为两种类型:
  1. 基本数据类型(值类型):字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined);
  2. 引用数据类型:对象(Object)、数组(Array)、函数(Function)。

1)String 类型

字符串(String)类型是一段以单引号`''`或双引号`""`包裹起来的文本,例如 '123'"abc"。需要注意的是,单引号和双引号是定义字符串的不同方式,并不是字符串的一部分。

定义字符串时,如果字符串中包含引号,可以使用反斜杠``来转义字符串中的引号,或者选择与字符串中不同的引号来定义字符串,如下例所示:

7.png

2)Number类型

    数值(Number)类型用来定义数值,JavaScript 中不区分整数和小数(浮点数),统一使用 Number 类型表示,如下例所示:

8.png

3)布尔(Boolean)类型

布尔(Boolean)类型只有两个值,true(真)或者 false(假),在做条件判断时使用的比较多,您除了可以直接使用 truefalse 来定义布尔类型的变量外,还可以通过一些表达式来得到布尔类型的值,例如:

9.png 4)Null类型

Null 是一个只有一个值的特殊数据类型,表示一个“空”值,即不存在任何值,什么都没有,用来定义空对象指针。

使用 typeof 操作符来查看 Null 的类型,会发现 Null 的类型为 Object,说明 Null 其实使用属于 Object(对象)的一个特殊值。因此通过将变量赋值为 Null 我们可以创建一个空的对象。

5) Undefined 类型

Undefined 也是一个只有一个值的特殊数据类型,表示未定义。当我们声明一个变量但未给变量赋值时,这个变量的默认值就是 Undefined。例如:

10.png

在使用 typeof 操作符查看未赋值的变量类型时,会发现它们的类型也是 undefined。对于未声明的变量,使用 typeof 操作符查看其类型会发现,未声明的变量也是 undefined,示例代码如下:

11.png

js数据类型的检测方式
typeof能检测基本类型(null除外,它返回object)和函数,对于引用类型只返回object

12.png

转数值类型【Number,parseInt,parseFloat】取整 取浮点

方法一:Number(变量):

    1. 在转换的过程中可以将原来的值保留,遇到小数直接保留下来,不会舍去

    2. 如果变量无法转换为数值类型,那么返回的结果是NaN; 对应的数据类型依然是数值类

    3. 如果将布尔类型转换为数值类型,true 转化后的结果是 1  false 转化后的结果是0

    NaN:not a number【number类型】
    

方法二:parseInt(变量)取整

13.png 备注:

    1  只会保留整数部分,通过该方式进行数据类型转换后得到就是一个整数

    2. 如果一个变量中的值无法转换为具体数字,那么返回的结果是一个 NaN 的值
    
    

方法三:parseFloat(变量)取浮点

   1. 在转换过程中,如果遇到小数,那么会直接将小数部分保留

   2. 如果转化不成功过,返回的结果NaN

方法四:减乘除也可以转化成数值型

除了加法  减乘除都可以使数据类型直接变成数值型的

减法:  1. 如果是数值类型的变量相减,结果就是一个数值类型的结果

        2. 如果是数字的字符串相减,得到的结果也是一个数值类型结果(发生了**隐式类型**转化)

        var n1 = '123';

        var n2 = '123';

       3. 如果是非数字的字符串相减,得到的结果是NaN
转字符串类型[n.toString,String(n)]
变量.toString()

14.png

备注:

String()函数存在的意义:有些值没有toString(),这个时候可以使用String()。比如:undefined和null

Boolean(n)
备注:

''(空字符串)、nullundefinedNaN  会转换成false;其它都会转换成 true。

比较运算符中的特例:

==        只用来比较变量中的值是否相等,不考虑数据类型

===       用来判断值和数据类型必须同时相等

!=        判断值是否不相等,不考虑数据类型

!==       判断值和数据类型