前端基础之JavaScript简称js
一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:
● 核心(ECMAScript) ------------>基础语法---------->必须要会的
● 文档对象模型(DOM) Document object model (整合js,css,html)----------->重要
● 浏览器对象模型(BOM) Broswer object model(整合js和浏览器)------------>不重要
简单地说,ECMAScript 描述了JavaScript语言本身的相关内容。
JavaScript 是脚本语言
JavaScript 是一种轻量级的编程语言。
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
JavaScript 很容易学习。
JavaScript引入方式
1. 书写位置
# js文件
# 浏览器控制台
# script标签
2. 注释(注释是代码之母:快捷键:ctrl + ?(单行), 多行的(ctrl+shift+?))
# 单行注释 //
# 多行注释
// 这是单行注释
/*
这是
多行注释
*/
3. 结束符
JavaScript中的语句要以分号(;)为结束符。
4. 变量声明
es5:
var name = 'kevin';
es6:
let name='kevin'
5. 变量的命名
# 基本上遵循python的变量命名规则即可
# 下划线、驼峰体、大驼峰、小驼峰
6. 常量
# python没有真正意义上的常量,全大写就是常量
# js中有真正意义上的常量
# 如何定义常量
const pi = 3.14
7. 保留字
JavaScript数据类型:(js也是一门面向对象语言,一切皆对象)
a = 1
a = 'kevin'
// 如何查看数据类型:typeof
var a = 1;
var b = 1.11;
console.log(typeof a);
console.log(typeof b);
1. 数值(Number)
var a = 1;
var b = 1.11;
2. 数据类型的转换
var a = '123';
还有一种NaN,表示不是一个数字(Not a Number)
3. 字符串(String)
var s = 'hello';
var ss = "hello";
// var sss = '''aaaa'''
console.log(s + ss);
4. 常用方法:
.length 返回长度
.trim() 移除空白
.trimLeft() 移除左边的空白
.trimRight() 移除右边的空白
.charAt(n) 返回第n个字符
.indexOf(substring, start) 子序列位置
.substring(from, to) 根据索引获取子序列
.slice(start, end) 切片
.toLowerCase() 小写
.toUpperCase() 大写
.split(delimiter, limit) 分割
5. ES6中引入了模板字符串(重要)###############################################
var name = 'kevin';
var age = 18;
var s = `my name is ${name}, my age is ${age}`;
console.log(s);
6. 布尔值(Boolean)
true、false # True False
# js中有哪些是假?
""(空字符串)、0、null、undefined、NaN都是false。
7. null和undefined
● null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null;
● undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。还有就是函数无明确的返回值时,返回的也是undefined。
8. 数组------>列表
常用方法:
方法 说明
.length 数组的大小
.push(ele) 尾部追加元素
.pop() 获取尾部的元素
.unshift(ele) 头部插入元素
.shift() 头部移除元素
.slice(start, end) 切片
.reverse() 反转
.join(seq) 将数组元素连接成字符串
.concat(val, ...) 连接数组
.sort() 排序
.forEach() 将数组的每个元素传递给回调函数
.splice() 删除元素,并向数组添加新元素。
.map() 返回一个数组元素调用函数处理后的值的新数组
运算符
比较运算符
> >= < <= != == === !==
==
# ===(强等于,即比较数值,又比较类型) !==
逻辑运算符
&&(and) ||(or) !(not)
赋值运算符
= += -= *= /=
流程控制
自定义对象
var a = {"name": "Alex", "age": 18};
Date对象
JSON对象
python中序列化和反序列化
import json
json.dumps
json.loads
# 在js中如何序列化和反序列化
JSON.stringify() # json.dumps
JSON.parse() # json.loads
RegExp对象
# 在JS中使用正则表达式,在js中如何使用正则呢?
// 定义正则表达式两种方式
// var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}"); # 第一种定义方式
// var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,11}/ // 第二种定义方式
// 正则校验数据
// var res = reg2.test('jason66688888888888')
// console.log(res);
以上例子:

// 全局匹配
lastIndex的意思是正则表达式开始下一次查找的索引位置,第一次的时候为0,
第一次查找完了的时候会把lastIndex的值设为匹配到的字符串的最后一个字符的索引位置加1,
第二次查找的时候会从lastIndex这个位置开始,后面的以此类推。如果没有找到,则会把lastIndex重置为0.
var s1 = 'egondsb dSb;'
var res = s1.match(/s/gi) // 全局匹配 global, i: ignore---->忽略------> .ignore------
console.log(res);
以上例子:

Math对象
abs(x) 返回数的绝对值。
exp(x) 返回 e 的指数。
floor(x) 对数进行下舍入。
log(x) 返回数的自然对数(底为e)。
max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
pow(x,y) 返回 x 的 y 次幂。
random() 返回 0 ~ 1 之间的随机数。
round(x) 把数四舍五入为最接近的整数。
sin(x) 返回数的正弦。
sqrt(x) 返回数的平方根。
tan(x) 返回角的正切。
以上例子1:

以上例子2:
