JavaScript基础

什么是JavaScript?

JavaScript是一门高端的、动态的、弱类型的编程语言,非常适合面向对象和函数式的编程风格。
JavaScript是前端开发工程师必须掌握的三种技能之一:

  1. 描述网页内容的HTML、
  2. 描述网页样式的CSS
  3. 描述网页行为的JavaScript。

控制台

在使用JavaScript的时候我们可以利用浏览器进行操作:
打开浏览器右键打开检查


JavaScript引入方式

Script标签内写代码


引入额外的JS文件


JavaScript语言规范

注释

// 这是单行注释

/*
这是
多行注释
*/

结束符

JavaScript中的语句要以分号(;)为结束符。

JavaScript语言基础

变量声明

  1. JavaScript中的语句要以分号(;)为结束符。
  2. 声明变量使用 var 变量名; 的格式来进行声明,变量必须先声明才能使用.
var name = "LU";
var age = 18;

注意

变量名是区分大小写的。
推荐使用驼峰式命名规则。
保留字不能用做变量名。

JavaScript数据类型

JavaScript拥有动态类型

var x;  // 此时x是undefined
var x = 1;  // 此时x是数字
var x = "Alex"  // 此时x是字符串 

number数字类型

在JavaScript中不区分整数值和浮点值,所有数字均用浮点数值表示,数字格式的范围是~.

整型直接量

在JavaScript中,用一个数字序列表示一个十进制的整数,例如:

0
3
10000

除了十进制还有十六进制,十六进制就是以0x或者0X为前缀,其后跟随十六进制数串的直接量

0xff // 15*16+15 =255

JavaScript也允许八进制的直接量

0377 // 3*64 + 7*8 +7 =255

浮点型直接量

浮点型直接量可以含有小数点,它们采用的是传统的实数写法。一个实数由整数部分、小数点和小数部分组成。
此外,还可以使用指数记数法表示浮点型直接量,即在实数后跟字母e或E,后面再跟正负号,其后再加一个整型的指数。这种记数方法表示的数值,是由前面的实数乘以10的指数次幂。
可以使用更简洁的语法表示:
[digits][.digits][(E|e)[(+|-)]digits]
例如:

3.14
2345.789
.3333333
6.02e23 

还有一种NaN,表示不是一个数字(Not a Number)。

string字符串类型

字符串是一组由16位值组成的不可变的有序序列,每个字符串通常来自于Unicode字符集.
例:

var a = "Hello"
var b = "world;
var c = a + b; 
console.log(c);  // 得到Helloworld

常用的方法

方法 说明
.length 返回长度
.trim() 移除空白
.trimLeft() 移除左边的空白
.trimRight() 移除右边的空白
.charAt(n) 返回第n个字符
.concat(value, ...) 拼接
.indexOf(substring, start) 子序列位置
.substring(from, to) 根据索引获取子序列
.slice(start, end) 切片
.toLowerCase() 小写
.toUpperCase() 大写
.split(delimiter, limit) 分割
将字符串拼接+
var a = "Hello"
var b = "world;
var c = a + b; 
console.log(c);  // 得到Helloworld
注意
转义字符

在JavaScript字符串中,反斜线()有着特殊的用途,反斜线符号后加一个字符,就不再表示它们的字面含义了,


JavaScript转义字符

underfined类型和null类型

  • null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null;
    *undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。还有就是函数无明确的返回值时,返回的也是undefined。
    null表示变量的值是空,undefined则表示只声明了变量,但还没有赋值。

boolean 布尔类型

区别于Python,true和false都是小写。

var a = true;
var b = false;

""(空字符串)、0、null、undefined、NaN都是false。

对象object

JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...此外,JavaScript 允许自定义对象。
JavaScript 提供多个内建对象,比如 String、Date、Array 等等。
对象只是带有属性和方法的特殊数据类型。

数组
数组对象的作用是:使用单独的变量名来存储一系列的值。类似于Python中的列表。

var a = [123, "ABC"];
console.log(a[1]);  // 输出"ABC"

JavaScript对象是一种复合值:它是属性或已命名值的集合。通过“.”符号来引用属性值。当属性值是一个函数的时候,称其为方法。通过o.m()来调用对象o中的方法。

常用的方法:

方法 说明
.length 数组的大小
.push(ele) 尾部追加元素
.pop() 获取尾部的元素
.unshift(ele) 头部插入元素
.shift() 头部移除元素
.slice(start, end) 切片
.reverse() 反转
.join(seq) 将数组元素连接成字符串
.concat(val, ...) 连接数组
.sort() 排序
.forEach() 将数组的每个元素传递给回调函数
.splice() 删除元素,并向数组添加新元素。
.map() 返回一个数组元素调用函数处理后的值的新数组

关于sort()需要注意:

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值
示例:

function sortNumber(a,b){
    return a - b
}
var arr1 = [11, 100, 22, 55, 33, 44]
arr1.sort(sortNumber)

关于遍历数组中的元素,可以使用下面的方式

var a = [10, 20, 30, 40];
for (var i=0;i

你可能感兴趣的:(JavaScript基础)