学习javaScript的心得及基本知识
学习js已经有一段时间,收获了许多新知识,在这里记录并与大家分享
什么是javaScript?
-
简单来说,js是运行在浏览器中的解释性编程语言。它是一种能跨平台、跨浏览器驱动网页,能够实现与用户交互。
-
JavaScript是一种具有面向对象能力的,解释性程序设计语言(不需要编译),
基于对象和事件驱动并且具有相对安全性的客户端脚本语言。
因为Javascript不需要在一个语言环境下运行,只需要支持它的
浏览器即可,它的主要目的是验证发往服务器的数据,增强web互动,加强用户体验; -
它和Java语言本质上没有关系,只是借势。
组成部分
- 核心(ECMAScript)
- 文档对象模型(DOM) Document object model (整合js,css,html)
- 浏览器对象模型(BOM) Broswer object model(整合js和浏览器)
javaScript的引入方式
- Script标签内写代码
<script>
//在这里写你的js代码
</script>
- 引入额外的js文件
<script src="myscript.js"></script>
javaScript的基本语法
- ①javaScript区分大小写
- test和Test表示不同变量
- ②标识符
- javaScript里面的标识符由数字,字母,下划线(_)和$组成,不能以数字开头
- ③注释
- javaScript注释有两种:多行注释和单行注释
- ④关键字
- 所谓关键字,就是系统已经定义好了的标识符。我们不能使用关键字来作为我们的标志符。
- 关键字与保留字:保留字就是目前还没有成为关键字,但是有可能在下一个版本成为关键字的一些标识符。我们也不能使用保留字来作为我们的标识符
- ⑤变量
- JavaScript是一门弱类型语言。JavaScript里面声明明任何数据类型都用var。
javaScript数据类型
1. 数值(Number)
JavaScript不区分整型和浮点型,就只有一种数字类型。
var a = 12.34;
var b = 20;
var c = 123e5; // 12300000
var d = 123e-5; // 0.00123
还有一种NaN,表示不是一个数字(Not a Number)
包含了整数和实数,NaN(所谓NaN,英语全称Not a number,表示不是一个数。如果任何一个数和NaN进行操作的话,返回的会是NaN)
parseInt("123") // 返回123
parseInt("ABC") // 返回NaN,NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。
parseFloat("123.456") // 返回123.456
2. 字符串(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) | 分割 |
补充:
ES6中引入了模板字符串。模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当做普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。
// 普通字符串
`这是普通字符串!`
// 多行文本
`这是多行的
文本`
// 字符串中嵌入变量
var name = "duoduo", time = "today";
`Hello ${name}, how are you ${time}?`
注意:
如果模板字符串中需要使用反引号,则在其前面要用反斜杠转义。
JSHint启用ES6语法支持:/* jshint esversion: 6 */
3. 布尔值(Boolean)
区别于Python,true和false都是小写。
var a = true;
var b = false;
""(空字符串)、0、null、undefined、NaN都是false。
4.null和undefined
- null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null
- undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。还有就是函数无明确的返回值时,返回的也是undefined
- null表示变量的值是空,undefined则表示只声明了变量,但还没有赋值
5.对象(Object)
-
JavaScript 中的所有事物都是对象:字符串、数值、数组、函数…此外,JavaScript 允许自定义对象。
-
JavaScript 提供多个内建对象,比如 String、Date、Array 等等。
-
对象只是带有属性和方法的特殊数据类型。
6. 数组(Array)
数组对象的作用:使用单独的变量名来存储一系列的值。类似于Python中的列表。
var a = [123, "ABC"];
console.log(a[1]); // 输出"ABC"
常用方法:
方法 | 说明 |
---|---|
.length | 数组的大小 |
.push(ele) | 尾部追加元素 |
.pop() | 获取尾部的元素 |
.unshift(ele) | 头部插入元素 |
.slice(start, end) | 切片 |
.reverse() | 反转 |
.join(seq) | 将数组元素连接成字符串 |
.concat(val, …) | 连接数组 |
.sort() | 排序 |
7. Symbol
ES6新引入了一种新的原始数据类型(Symbol),表示独一无二的值。它是JavaScript语言的第7种数据类型。
javaScript数据类型查询
typeof "abc" // "string"
typeof null // "object"
typeof true // "boolean"
typeof 123 // "number"
typeof是一个一元运算符(就像++,--,!,- 等一元运算符),不是一个函数,也不是一个语句。
对变量或值调用 typeof 运算符将返回下列值之一:
- undefined - 如果变量是 Undefined 类型的
- boolean - 如果变量是 Boolean 类型的
- number - 如果变量是 Number 类型的
- string - 如果变量是 String 类型的
- object - 如果变量是一种引用类型或 Null 类型的
javaScript运算符
1. 算数运算符
+ - * / % ++ --
2. 比较运算符
> >= < <= != == === !==
注意:
1 == “1” // true
1 === "1" // false
3. 逻辑运算符
&& || !
4. 赋值运算符
= += -= *= /=