目录
JavaScript
什么是JavaScript
- JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
- 它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
JavaScript组成部分
ECMAScript,描述了JavaScript的语法和基本对象
文档对象模型(DOM),描述处理网页内容的方法和接口
浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口
特性
- 脚本语言。JavaScript是一种解释型的脚本语言,C、C++语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。
- 基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。
- 简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。
- 动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应。
- 跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提上机器上的浏览器支 持JavaScript脚本语言,目前JavaScript已被大多数的浏览器所支持。
JavaScript引入方式
Script标签内写代码
<script>
//在这里写代码
</script>
引入额外的js文件
<script src="js文件名.js"></script>
JavaScript语言规范
注释
//单行注释
/*
多行注释
*/
结束符
JavaScript中的语句要以分号(;)为结束符
JavaScript语言基础
变量声明
- JavaScript的变量名可以使用_,数字,字母,$组成,不能以数字开头
- 声明变量使用var 变量名;的格式来惊醒声明
var name="guapi";
var age=19;
PS
变量名是区分大小写的
推荐使用驼峰式命名规则
保留字不能作为变量名
let变量
ES6新增let命令,用法类似与var,但是let只在代码块内有效,类似于其他语言中的全局变量和局部变量
常量声明
ps:ES6新增const来声明常量。一旦声明,值不可更改
const pi = 3.1415;
pi //3.1415
pi=3 //跳错
JavaScript数据类型
JavaScript拥有动态类型
var x;//此时x为undefined
var x=1;//此时是数字
var x="guapi";//此时为字符串
数值(Number)
JavaScript不区分整形和浮点型,就只有一种数字类型
var a=12.34;
var b=20;
var c=123e5; //12300000
var d=123e-5//0.00123
还有一种方法NaN,表示不是一个数字(Not a Number)
常用方法:
parseInt("123") //返回123
parseInt("ABC")//返回NaN,NaN属性是代表非数字值得特殊值。该属性用于指示某个值不是数字。
parseFloat("123.456")//返回123.456
字符串(string)
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) | 分割 |
拼接字符串一般使用“+”
JavaScript中的嵌入变量
ES6中引入了模板字符串。模板字符串是增强版的字符串,用反引号(`)标识。可以作为普通字符串,也可以用来定义多行字符串,或者在字符串中嵌入变量,有点像python中的format
var name="guapi";
`hello ${name}`;
布尔值(Boolean)
区别于Python,true和false都是小写
var a = true;
var b = false;
""(空字符串)、0、null、undefined、NaN都是false。
null和undefined
- null表示值是空,一般是在需要指定或清空一个变量时才会使用,如name=null;
- undefined表示档声明一个变量但未初始化时,该变量的默认值时undefined。还有就是函数无明确的返回值时,返回的也是undefined
null表示变量的值是空(null可以手动清空一个变量的值,使得该变量为object类型,值为null),undefined表示只声明了变量,但还没有赋值。
对象(object)
- JavaScript中得所有事物都是对象:字符串、数值、数组、函数...此外,JavaScript允许自定义对象。
- JavaScript提供多个内建对象,比如String、Date、Array等等
- 对象知识带有属性和方法得特殊数据类型
数组
- 数组对象的作用是:使用单独的变量名来存储一系列的值。类似于python中的列表
var a=[123,"abc"]
console.log(a[1])///"abc"
常用方法:
.length() | 数组的大小 |
.push(ele) | 尾部追加元素 |
.pop() | 获取尾部的元素(会删除尾部元素) |
.unshift(ele) | 头部插入元素 |
.shift() | 头部移除元素 |
.slice(start,end) | 切片 |
.reverse() | 反转 |
.join(seq) | 将数组元素连接成字符串 |
.concat() | 连接数组 |
.sort() | 排序(根据ASSIC) |
.forEach() | 将数组的每个元素传递给回调函数 |
.splice() | 删除元素,并向数组添加新元素 |
.map() | 返回一个数组元素调用函数处理后的值的新数组 |