关于一些JavaScript的
基本一些语法:
包含内部引入和外引入
NaN: not a number 不是一个数
JS中的数值可以不是同一种类型的对象
取数组下标越界了,就会undefine
’use strict’:严格检查模式,预防JavaScript的随意性产生的一些问题。放在第一行
var相当于全局变量,let相当于局部变量
字符串
正常字符串我们就使用单引号或者双引号
-
注意转义字符加\
-
换行字符串可以使用反引号
-
符串我们就使用单引号或者双引号
-
大小写转换
-
toUpperCase()
-
toLowerCase()
-
字符串截取:substring(1,2)
let a="abc";
let A="ABC";
let a1= a.toUpperCase();
let A1=A.toLowerCase();
a.substring(1,2);
console.log(a1);
console.log(A1);
数组:
*数组Array可以包含任意的数据类型
- 数组长度不可变
- 给数组长度赋值,可变
- indexOf(e):通过元素或者数组下标
- slice():截取数组中的一部分,返回一个新数组
- push():压入到尾部
- pop():弹出尾部的一个元素
- unshift():压入到头部
- shift():弹出头部的一个元素
- sort():排序
- reverse():数组反转
- concat():拼接数组,没有修改数组,只是返回了一个新的数组
- 连接符join(’’)
let arr=[1,2,3,4,5];
console.log(arr.length);
arr.length=2;
console.log(arr.length);
let index=arr.indexOf(2);//1
arr.slice(1,3);//[2,3,4]
对象
- 若干个键值对,键都是字符串,值是任意类型
- 动态删减增加属性
- 判断属性是在对象里: 属性名 in 对象名,返回布尔值,true有,false没有
let person={
name:"Tom",
age:"1",
id:"888"
}
iterator遍历map 和set
- 用for of, for in 是返回下标
let map=new Map([["小王",80],["小黑",90],["小明",70]]);
for(let x of map){
console.log(x);
}
let set=new Set([7,8,9]);
for(let y of set){
console.log(y);
}
函数:
- js函数可以传递任意个参数,也可以不传递参数
- arguments是关键字,代表传递进来的所有的参数,是一个数组
- rest是es6的新特性,是一个函数,表示除了原本参数外的其他参数,会用一个数组表示,格式是 函数名(参数1,参数2,…rest){}
var abs=function (num){
if(typeof(num)!=="number"){
throw "not a number";
}
if(num>0){
return num;
}else{
return -num;
}
}
console.log(abs(-9));
console.log(abs(aaa));
变量的作用域
- 如果两个函数使用了相同的变量名,只要在函数内部定义了,就不会冲突
- 内部函数可以访问外部函数定义的变量,反之则不行
- 局部作用域let:去定义局部作用域的变量
- 常量const:
var f1=function (){
var x=1;
console.log(x);
return "这是函数1";
}
var f2=function () {
var x="a";
console.log(x);
return "这是函数2";
}
JSON语法特性:
json对象
-
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率
-
在JavaScript中,一切皆为对象,任何支持js的类型都可以用JSON表示,
-
格式;
-
对象都用:{}
-
数组都用[]
-
所有键值对都是用key:value
var demo01={
name:"Juy",
age:22,
sex:"女"
}
//将对象转换为json字符串
let jsondemo=JSON.stringify(demo01);
console.log(jsondemo);
//将json字符串转换为对象,参数为json字符串
let obj=JSON.parse('{"name":"Juy","age":22,"sex":"女"}');
console.log(obj);
JavaScript中的面对对象
- 类:模板
- 对象:实例
- es6后新增class关键字,通过class创建新的对象
- 继承:
class Teacher {
//构造器
constructor(name,address) {
this.name=name;
this.address=address;
}
//定义方法
Teach(){
console.log("教书");
}
}
let teacher1=new Teacher("小李","清华大学");
let teacher2=new Teacher("小刚","巴蜀中学");
//继承
class HighTeacher extends Teacher{
constructor(name,address,grade) {
super(name,address);
this.grade=grade;
}
Teach2() {
console.log(this.name+"在"+this.address+"教"+this.grade);
}
}
let High=new HighTeacher("小红","绥阳中学","高一");
High.Teach2();