批改状态:合格
老师批语:
基本类型:number ,string ,boolean ,null ,undefined
引用类型:object ,array ,function
// const arr = [数组成员可以是任意类型]//数组const arr = [1 ,'admin' ,true]//数组访问 下标从0开始[index]console.log(arr[1]) //admin
//对象const obj = {//数据成员: 属性name: '小明',sex: '男',age: 15,1: 0 //非法标识符 使用数组索引方式访问 obj[1]}// 对象访问console.log(obj.name) //小明//对象函数声明,属性就叫:方法//this:与当前对象绑定,this->user,user变this改变//箭头函数没有自己的this ,它的this,永远和它的上下文绑定(父级作用域)const user = {id: 5,uname: '张老师',show: function(){return `id=${this.id},uname=${this.uname}`}}console.log(user.show())
1. 数组: [...] ,arr[index]2. 对象: {...} ,obj.key数组 ,对象的成员 ,可以是任意类型
let arr = [1 ,'手机' ,5000]arr = [[1 ,'手机' ,5000][2 ,'电脑' ,9000][3 ,'键盘' ,100]]console.log(arr[1])
let obj = [{id: 1,item: '手机',price: 5000},{id: 2,item: '电脑',price: 9000},{id: 3,item: '键盘',price: 1000}]// 读取console.log(obj[1].item) //电脑
//‘类数组’: 类似, 像一个数组 ,本质上仍然是一个对象
// 内部是数组结构,但是有一个对象的外衣
const obj = {0: 5,1: 'admin',2: '123@qq.com',length: 3}console.log(obj[0] ,obj.length) //5 ,3//转为真正的数组const arr = Array.from(obj)console.log(arr) //[5 ,'admin' ,'123@qq.com' ,3]
多维数组(二维)对象数组'类'数组
/?1. 块作用域{//let支持块作用域在作用域外访问不到✔//var不支持块作用域可以在块作用域外面访问到// var a = 100// console.log(a)}//外部访问不到// console.log(a)/?2. 函数作用域//从内部先查找,找不到往外找let links = 'https://baidu.com'const urls = function(){//内部声明的叫私有成员let links = 'https://php.cn'console.log(links)}urls() //https://php.cn//?3. 全局作用域//所有块,函数外部都是全局的const userName = 'php'{//在块里访问console.log(userName)}//函数里访问;(function(){console.log(userName)})
//经典写法let item = {name: '苹果15',price: 50000,show: function(){return `${this.name}: ${this.price}元`}}//属性简化写法let names = '苹果15'let price = 50000item = {//属性名: 变量名//如果属性与变量同名可只写属性不写变量names,price,show: function(){return `${this.name}: ${this.price}元`}}//方法简化item = {//可以删除:functionnames,price,show(){return `${this.name}: ${this.price}元`}}
作用域:用于查询变量作用域链:查询变量的路径(由内向外不可逆)类型:块,函数,全局
属性简化: 属性名与变量同名的情况下只写属性即可方法简写: 删除`:function`
//1. 分支//单分支let flag = false;if(flag){console.log('ok')}//2. 双分支if(flag){console.log('ok')}else{ // 条件不满足时候执行console.log('no ok')}//3. 多分支let nol = 120;if(nol === 100){console.log('Ok')}if(nol === 120){console.log('Hello')}else{console.log('No Hello')}//4. 双分支语法糖// 语法糖:简化抒写// 双分支简化成三元运算符let a = false;if(a){console.log('早上')}else{console.log('下午')}//三元运算符//条件 ? true : false// 简化console.log(a?'早上':'中午')//5. 多分支语法糖let arr1 = [1, 2, 3, 4, 5];//等值判断switch (arr1.length) {case 0:console.log("0");break;case 1:console.log("1");break;case 2:console.log("2");break;default:console.log("3");}//范围判断let b = 90;switch(b){case b>=80 && b< 100:console.log('b>=80 ,b< 100')breakcase b>=100 && b < 200:console.log('b>=100 ,b<200')breakdefault:console.log('end')}
单分支: `if(){...}`双分支: `if(){...}else{...}`多分支: `if(){...}else if(){...}else{...}`双分支语法糖: `con ? true : false`多分支语法糖: `switch`(离散,区间)
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号