JavaScript前端开发基本语法

JavaScript前端开发基本语法

**

一、变量

1、标识符
程序开发中,经常需要自己定义一些符号来标记一些名称,并赋予其特定的用途,如变量名、函数名定,这些符号都被称为标识符。标识符的定义规则如下:
(1):由大小写字母、数字、下划线美元符号( ) 组 成 , 如 s t r 、 a r r 3 、 g e t n a m e 、 )组成,如str、arr3、get_name、 strarr3getnamea。
(2):不能以数字开头,如56name是非法标识符。
(3):严格区分大小写,如it与IT 表示两个不同的标识符。
(4):不能使用JavaScript中的关键字命名,如var作为变量名是不合法的。
(5):要尽量做到“见其名如知其意”,如name表示名称。
值得一提的是: 当标识符中需要多个单词进行表示时,常见的表示方式有下划线法(如user_name)、驼峰法(如userName)和帕斯卡法(如UserName)。可根据开发需求统一规范命名的方式,如:下划线 方式通常应用于变量的命名,驼峰法通常应用于函数名的命名等。

2、保留关键字
保留关键字是指在JavaScript语言中被事先定义好并赋予特殊含义的单词。
**

关键字

break case catch class const continue
debugger default delete do else export
extends false finally for function if
import in instanceof new null return
super switch this throw try true
typeof var void while with yield

保留字

abstract enum int short boolean export
interface static byte extends long super
char final native synchronized class float
package throws const goto private transient
debugger implements protected volatile double import
public short volatile abstract arguments

3、变量使用
变量可以看做是存储数据的容器。
未赋初始值的变量,默认值会被设定为undefined。行末的分号表示语句结束。变量与变量之间的逗号(,)操作符,可实现一条语句同时完成多个变量的声明。变量声明例子如下:

var sales; var hits, hot, NEWS;
var room_101, room102; var $name, $age;8

4、变量的赋值
先声明在赋值:

var unit, room
uinit=3; room=1001

同时声明赋值:

var fname = ‘Tom’, age=12

除此之外,还可以省略声明变量的关键字,直接为变量赋值:

flag=false;
a=1,b=2;

5、常量
当程序运行时,值不能改变的量为常量(Constant)。
常量主要用于为程序提供固定的和精确的值(包括数值和字符串),比如数字、逻辑值真(true)、逻辑值假(false)等都是常量。
ES6新增const关键字声明常量,一般用全大写字母命名。
语法:const常量名= 值;`

 var r = 6; 
 const PI = 3.14; 
 const P = 2 * PI * r; 
 onsole.log('P=' + P); 
 // 输出结果:P=37.68 

二、数据类型

1、数据类型分类
JavaScript是弱类型脚本语言,使用变量之前,无须定义,想使用某个变量时直接使用即可,JavaScript会根据需要自动确定数据类型和进行数据类型的转换,但每个变量还是要确定数据类型的。
JavaScript数据类型有:基本数据类型、复合数据类型

大类 数据类型 说明
基本数据类型 数值类(Number) 包含整数和浮点数
基本数据类型 布尔类(Boolean) 只有true和false两个值 【小写】
基本数据类型 字符串类(String) 表示一个字符序列,必须使用单引号(’’)或双引号("")括起来
特殊类型 Undefined(Undefined) 用来确定一个已经创建但还没有赋初值的变量,只有一个值为:undefined 【小写】
特殊类型 Null类型(Null) 表明某个变量的值为空,只有一个值为:null【小写】
复合数据类型 Object类(Object) 该类型的值为对象,对象由一些列属性(变量)和方法(函数)的集合,访问它们时用:. 【英文点号】
复合数据类型 数组(Array) 一系列的变量组成
复合数据类型 函数(Function) 包含一段可执行的代码

(1)、数值型:
最基本的数据类型
不区分整型数值和浮点型数值
所有数字都采用64位浮点格式存储,相当于Java和C语言中的double格式
能表示的最大值:±1.7976931348623157x10308
能表示的最小值:±5x10-324

var oct= 032; 八进制数表示的26
var dec= 26; 十进制数26
var hex = 0x1a; 十六进制数表示的26
var fnum1 = 7.26; 标准格式
var fnum2 = -6.24; 标准格式
var fnum3 = 3.14E6; 科学计数法格式3.14*10^6
var fnum4 = 8.96E-3; 科学计数法格式8.96*10^-3只要给定的值不超过JavaScript中允许数值指定的范围即可。

(2)、NaN非数值

  • NaN是一个全局对象的属性,它的初始值就是NaN。
  • 与数值型中的特殊值NaN一样,都表示非数字(Not a Number)。
  • 可用于表示某个数据是否属于数值型。
  • NaN没有一个确切的值,仅表示非数值型的一个范围。
  • 例如,NaN与NaN进行比较时,结果不一定为真(true),这是由于被操作的数据可能是布尔
  • 型、字符型、空型、未定义型和对象型中的任意一种类型。
    (3)、undefined
  • 该类型只有一个值,即特殊的undefined。
  • 在使用var声明变量但未对其加以初始化时,这个变量值就是undefined。
  • 对于尚未声明的变量,可以使用typeof操作符检测其数据类型。返回值也为:undefined值,和定义后未赋初值的变量一样。
  • 建议:定义一个变量时显式地初始化变量。

(4)、Null型

  • null值表示一个空对象

varcar = null;
alert(typeofcar);

  • 如果定义的变量准备将来用于保存对象,那么最好将该变量初始化为null而不是其他值。这样,检查null值就可以判断相应的变量是否已经保存了一个对象的引用。

car = null;

if(car != null){ //对car进行某些操作}

比较 结果
null与空字符串 不相等,null代表什么也没有,空字符串则代表一个为空的字符串
null与false 不相等,但是!null等于truenull与0不相等,但是在C++等其他语言中是相等的
null与undefined 相等,但是null与undefined并不相同

三、数据类型转换

(1)、转布尔型

  • 应用场景:经常用于表达式和流程控制语句中,如数据的比较、条件的判断。
  • 实现语法:Boolean(value)函数。
  • 转换为Boolean类型
数值类型:若为0或NaN,则转为false,其它转为true。
字符串:若为空字符串(""),则转为false,其它转为true。
其他对象:若存在,则转为true,其它转为false。
undefined → false。null → false。22

(2)、转数值型

  • 应用场景:开发中在接收用户传递的数据进行运算时,为了保证参与运算的都是数值型,经常需要对其进行转换。
  • 转换为Number类型:|
Boolean值:true → 1,false →0
字符串:若字符串内容为数字,则转换为相应数字,否则转换为NaN
其他对象→ NaN
undefined → NaN
null → 0。
  • 实现语法:
parseInt方法返回由字符串转换得到的整数
parseFloat方法返回由字符串转换得到的浮点数
Number方法返回由给定值转换得到的数值

注意:如果需要将表单中的数值(字符串)在前台通过JS进行数值运算,必须先使用parseInt或者parseFloat进行转换再运算。
(3)、转字符串
转换为String类型

  • Boolean值:true → “true”,false→ “false”。
  • Number值转换为NaN、0或与数值相应的字符串。
  • 其他对象:若存在,则转换为toString()方法的值,否则转换为"undefined"
  • undefined → “undefined”。
  • null → “null”。
    实现语法
  • toString方法:转换为相应的字符串表示
  • 、String方法:返回由给定值转换得到的字符串24

四、表达式

表达式可以是各种类型的数据、变量和运算符的集合。

五、运算符

运算符 种类
算数运算符 +(加)、-(减)、*(乘)、/(除)、%(取余)、++(累加)、–(累减)
赋值运算符 =(赋值)、+=(加赋值)、-=(减赋值)、*=(乘赋值)、/=(除赋值)、%=(取余赋值)
关系运算符 >(大于)、<(小于)、(等于)、!=(不等于)、>=(大于等于)、<=(小于等于)、!(严格不等于,比较类型和值)、===(严格等于,比较类型和值)
字符串运算符 +
条件运算符 ? : (唯一的三目运算符)
逗号运算符 ,
typeof运算符 Typeof 判断某个变量的数据类型
instanceof运算符 instanceof 判断某个变量是否是指定类的实例

位运算符&(按位与)、|(按位或)、~(按位非)、^(按位异或)、<<(左移)、>>(右移)【了解】
逻辑运算符|&&(与)、||(或)、!(非)

(1)、运算符的注意点
JavaScript将非Boolean转换为Boolean的规则

  • 所有对象都被认为是true;
  • 字符串当且仅当为空时被认为是false;
  • null和undefined被认为是false;
  • 数字当且仅当为零时被认为是false。

小常识

2 == “2” true
2 === “2” false
4 != “4” false
4 !== “4” true

-注意
•不相同类型的数据进行比较时,首先会自动将其转换成相同类型的数据后再进行比较。
•运算符"“和”!= “运算符在比较时,只比较值是否相等。
•运算符”
=“与”!=="要比较数值和其数据类型是否相等。

你可能感兴趣的:(JavaScript前端)