Javascript--初步了解

190 阅读6分钟

Javascript

是一种基于对象和事件驱动的客户端脚本语言

处理复杂的计算机交互

组成

ECMAScript(语法)、Browser Objects(DOM、BOM)(特性)组成

内部脚本
<script></script>
使用标签将脚本语言包含在内,标签可以位于<head>和<body>中
外部脚本
<script src=""></script>

Javascrip 语法

注释及分号

// 单行注释

/**/ 多行注释

语句结束后要加分号

语法

javascript中一切变量函数名和操作符都区分大小写

标识符

变量、函数、属性的名字,或者函数的参数

命名规则

  • 由字母,数字,下划线(-)或美元符号($)组成
  • 不能由数字开头
  • 不能使用关键字、保留字等作为标识符

变量

变量是松散类型--即可以用来保存任何类型的数据

每个变量仅仅是一个用于保存值的占位符

  1. 变量声明:

    var+变量名
    一次声明多个变量,变量中间用逗号隔开
    
  2. 变量赋值: 声明的同时进行赋值或先进行声明再进行赋值

  3. 说明: 省略var声明的变量是全局变量

    不推荐使用省略var来定义全局变量

  4. 当需要使用到存储值是则需要定义变量

Javascript 数据类型

基本数据类型:

  • Undefined
  • Null
  • Boolean
  • Number
  • String

复杂数据类型:

  • Object

typeof

变量本身是没有类型的,变量的类型取决于变量所赋的值

typeof+变量 或 typeof(变量)

console.log //在控制台中打印

eg:

Undefined--未定义的

  • undefined类型只有一个值,即特殊的undefined

说明: 一般而言,不存在需要显式的把一个变量设置为undefined值的情况

Null

  • 表示空对象指针
  • 如果定义的变量准备在将来用于保存对象,那么最好将改变两初始化为null而不是其他值

说明:undefined值是派生自null值的,所以undefined==null的返回结果为true

Number

  • Number:表示整数和浮点数
  • NaN:即非数值(Not a number),即本身要返回一个数字,但返回值无法是一个数字,故会返回NaN

eg:

说明:

  • 任何涉及NaN的操作,都会返回NaN
  • NaN与任何值都不相等,包括NaN本身

isNaN:

  • 语法:
    isNaN(n)
    
  • 功能:检测n是否是"非数值"
  • 返回值:boolean(只有两个值,分别为真、假)

eg:

说明:

isNaN()对于接收的数值,先尝试转换为数值,再检测是否为非数值

eg:

数值转换

有三个函数可以把非数值转换为数值

```
Number()
parseInt()
parseFloat()
```

说明:

  1. Number()可以用于任何数据类型
  2. parseInt()和parseFloat()则专门用于把字符串转换成数值

Number:

若转换内容为字符串的话,则转换后的数据类型为NaN

parseInt():

说明:

  1. 转换空字符串返回NaN,操作的变量必须以数字开头,提取字符串中的数值
  2. 这个函数提供第二个参数:转换时使用的基数(即多少进制)

parseFloat

从第一个字符开始解析每个字符,直至遇见一个无效浮点数字符为止

说明: 除了第一个小数点有效外,第二个无效,parseInt()与parseFloat()第二个区别在于parseFloat()始终都会忽略前导的0

string

用于表示由0或多个16位Unicode字符组成的字符序列,即字符串。字符串必须由('')("")表示

字符串转换

语法:str.toString()

功能:将str转换为字符串

返回值:str的字符串副本

参数:str是要转换的内容,可以是数值,布尔值,对象和字符串

说明:在不知道要转换的值是不是null或undefined的情况下,还可以使用String()函数,它能够将任何类型的值转换为字符串

eg:

Boolean

用于表示真假的类型,即true表示真,false表示假

类型转换

  • 除0以外的所有数字,转换为布尔型都为true
  • 除""之外的所有字符,转换为布尔型都为true
  • null和undefined转换为布尔型的false

Javascript表达式

将同类型的数据,用运算符号按一定的规则连接起来的、有意义的式子

  • 算数操作符
  • 逻辑操作符
  • 赋值操作符
  • 比较操作符
  • 三元操作符

算数操作符--其返回值类型都为Number

  • +:加

  • -:减

  • *:乘

  • /:除

  • %:取余

  • 递增:++a与a++都是对a进行递增操作

    区别:

      ++a先返回递增后的a的值
      
      a++先返回a的值,再返回递增之后的值
    
  • 递减:与递增同理

说明:

在进行运算前,浏览器会自动对于要进行运算的变量进行数值转换,若可以转换,则返回最终的计算值,若不可转换,则返回NaN

自增自减运算符:(与c相同)

赋值操作符

  • 简单赋值:=
  • 复合赋值:+=、-=、*=、/=、%=

相加的内容中有一项为字符串,则加号的作用就是连接两部分内容

比较操作符

两个等号表示两者之间值是否相等,三个等号表示值相等的同时,变量类型是否相等,返回值为Boolean,即真或假,不等的情况与等于同理

三元操作符

逻辑操作符

  • 与:&&
  • 或:||
  • 非:!

与&&

只要两个值中有一个为false,则返回false

说明:

在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值

如果第一个操作数隐式类型转换后为true,则返回最后一个操作数

如果第一个操作数隐式类型转换后为false,则返回第一个操作数

如果一个操作数为null,则返回值为null,undefined与NaN同理

或||

多个操作数只要有一个成立,则返回为true,当第一个条件成立的情况下,计算机不往下执行操作

说明:

在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值

  1. 如果第一个操作数隐式类型转换后为true,则返回第一个操作数
  2. 如果第一个操作数隐式类型转换后为false,则依次往后直到有true,,打印相应的操作数,若都不为true,则返回最后一个值
  3. 如果两个操作数都是null,则返回null,NaN与undefined同理,多个操作数也同理

非!

  • !true=false
  • !false=true

说明:

  1. 无论操作数是什么数据类型,逻辑非都睡返回一个布尔值
  2. !!同时使用两个逻辑非操作符时:
    • 第一个逻辑非z操作会基于无论什么操作数返回一个布尔值
    • 第二个逻辑非则对该布尔值求反