javascript基本概念

这篇笔记简单总结了javascript中的一些基本概念,作为后面学习的基础。


语法


区分大小写

Javascript中的一切都是区分大小写的。

标识符

标识符是指变量、函数、属性或者函数参数的名字。它以字母、下划线或美元符号开头,后面跟字母、下划线、美元符号或者数字。通常建议采用驼峰大小写的格式。

注释

1.单行注释

//code...

2.块级注释

/*
  code...
*/

语句

在javascript中,语句是一封号结尾的。虽然封号不是必须的,但建议每条语句的结束都不要省略封号


变量

javascript中的变量是松散型的,可以用来存储任何值。但是不建议修改变量所保存的类型值。即原本一个变量是数值型的,比建议将其修改存储字符串。

用var声明的变量是局部变量。


数据类型

基本数据类型:Undefined、Null、Boolean、Number和String。

复杂数据类型:Object


使用typeOf操作可检测给定变量的数据类型。


Undefined类型

这个类型的值只有一个,即undefined。

声明一个变量但为对其进行初始化时,该变量的值就是undefined。

注意:对为初始化和未声明的变量执行typeOf操作,都将返回undefined。但是不能对未声明的变量进行任何操作,会报错。

Null类型

这个类型的值也只有一个,即null.

null表示一个空对象的指针。所以,对null执行typeOf操作,将返回"object"。

当一个变量有意要用于保存对象时,最好将该变量初始化为null.

Boolean类型

该类型有两个值:true和false

其他类型都可以相应转换为Boolean类型。

Number类型

十进制:如10;

八进制:第一位是0,后面跟0~7的数字序列;

十六进制:以0x开头,后面跟0~9及a~f(A~F)的十六进制数;

浮点数:包含一个小数点,且小数点后面必须至少有一位数字。如果小数点后面没有数字或者数字为0,那么会被自动转换为整数;

科学计数法:前面是一个数值,中间是一个e(或E),最后是10的幂中的指数。例如:3e10,它表示3乘以10的10次方;3e-8,它表示3乘以10的-8次方。

isFinite()函数可以用来检查传入的参数是否是有穷的,如果是则返回true。

NaN

NaN表示一个本来要返回数值的操作却没有返回数值的情况。

任何涉及NaN的操作都会返回NaN;

NaN与任何值都不相等,包括其自身。

isNaN()函数可用来检测传入的参数是否“不是数值”。

object类型

对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。

每个对象都有的属性和方法:

1.constructor:表示对象的构造函数,即用于创建当前对象的函数。

2.hasOwnProperty(propertyName):用于检查传入的参数是否是当前对象实例的属性。

3.isPrototypeOf(object):用于检测传入的对象是否是对象的原型。

4.propertyIsEnumerable(propertyName):用于检查传入的参数是否能用for-in语句来枚举。

5.toLocaleString()

6.toString()

7.valueOf()


操作符


一元操作符

1.递增递减

前置性递增递减:变量的值是在语句被求值前改变的;

后置型递增递减:变量的值是在语句被求值后改变的。

不管是前置性还是后置型的递增递减操作,对任何值都适用。

2.一元加和一元减

一元加放在数值面前不会产生任何影响。放在非数值前,会像Number()一样对操作数进行转换。

一元减放在数值前将返回操作数的负数。放在非数值前,将会遵循同一元加一样的规则,然后再返回其负数。

位操作符

无符号整数:32位都用来表示整数的值;

有符号整数:第32位用来表示符号位,其中1表示负数、0表示正数。其余31位用来表示整数的值。

1.按位非(~)

返回数值的反码。实质是,其结果是操作数的负值减1.

2.按位与(&)

有两个操作数,将两个操作数每一位都对其,按照下面的规则求值:

只有当两个操作数对应位都是1时才返回1,其他任何情况都返回0.

3.按位或(|)

有两个操作数,将两个操作数每一位都对其,按照下面的规则求值:

只有当两个操作数对应位都是0时才返回0,其他任何情况都将返回1.

4.按位异或(^)

有两个操作数,将两个操作数每一位都对其,按照下面的规则求值:

只有当两个操作数不相同时才返回1,相同的情况返回0.

5.左移(<<)

将数值所有位同时向左移动指定位数,空出的位置以0填充。

左移不会影响操作数符号位。

6.有符号右移(>>)

保留符号位,其他位同时向右移动指定位数。空出的位置,填充与符号位相同的值。

7.无符号右移(>>>)

所有32位都同时向右移动指定位数。空出的位置以0填充。

布尔操作符

1.逻辑非(!)

该操作会将操作数先转换为布尔值,然后再对其求反。

对操作数使用两次逻辑非操作,将求得操作数的布尔值。

2.逻辑与(&&)

该操作是短路操作,即如果第一个操作数是false,则不会再去计算第二个操作数。

3.逻辑或(||)

该操作也是短路操作,即如果第一个操作数是true,则不会再去计算第二个操作数。

乘性操作符

乘性操作符有乘法(*)、除法(/)和求模(%)。

参与乘性计算的操作数若不是数值,后台会先使用Number()转型函数将其转换为数值,然后进行数值的乘、除、求模。

加性操作符

加性操作符有加法和减法。

加法操作中,如果有一个操作数是字符串时会有如下特性:

1.如果两个操作数都是字符串,则将两个操作数拼接起来;

2.如果只有一个操作数是字符串,则将另一个操作数转换为字符串,再将两个操作数拼接起来。

关系操作符

关系操作符有:小于(<)、大于(>)、小于等于(<=)、大于等于(>=).

在比较字符串时,是比较两个字符串中对应位置的字符编码值。

在比较数值于字符串时,字符串都会被转换为数值,然后再进行数值的比较;如果字符串不能被转换为数值,那么它会被转换为NaN,NaN与任何值比较都将返回false。

相等操作符

1.相等操作符(==)

参与相等操作的两个操作数都会先进行类型转换,然后再进行比较他们的相等性。

null和undefined是相等的。

2.全等操作符(===)

全等操作不会对操作数进行类型转换。只有当两个操作数的数据类型和值完全相等时,该操作才返回true。

null不全等于undefined。


函数

1.javascript不需要指定函数的返回值,因为它在任何时候都可以返回任何值。未指定返回值的函数将返回undefined。

2.javascript函数的参数可以用arguments对象表示。arguments对象的长度是由传入的参数的个数决定的。

3.没有传入值的命名参数的值为undefined。

4.javascript中函数没有重载。假如定义了两个名字一样的函数,则该名字属于后定义的函数。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值