1、对象
PS:not 选择器
.box .son:not(p:hover){
background-color:#ffff;
}
意为:选择box子元素中除了鼠标悬停状态的p标签都设置背景颜色
概念:
1、JavaScript里的一种数据类型
2、无序的数据集合
3、用于描述对象的抽象特性集合
4、信息分类:静态特征(基本属性)、动态行为(函数动作)
使用:
1、声明语法:let 对象名 = { key-value }
PS:
json对象也为key-value类型数据
属性名可以使用“ ”或“,一般情况下省略,除非遇到特殊符号如:空格、中横线
例如:
let person = {
name: '张三',
age: 18,
sex: '男,
putData: function(){
//匿名函数
console.log(this.name,this.age,this.sex)
console.log(this['name'],this['age'],this['sex']
}
}
属性访问:object.key object['key']
PS:
1、object.引用方式,。后永远不是变量
2、object[变量],object['属性名']才是唯一使用变量去对象属性的方法
2、操作对象
一、查询属性
object.key object['key']
当key中出现运算符等关键字时可以使用['key']来规避错误
二、修改属性
object['key'] = "new"
object.function = function(){}
三、增加属性
//不同于json添加数据
let person = {
key : "value"
}
person.hobby = '足球'
person['sex'] = '男'
四、删除属性
let person = {
key : 'value'
}
//删除语句
delete person.key
3、遍历对象
PS:
1、object中没有length属性,所以无法通过object.length来确定内部属性个数
2、object内部为无序(按key的ASCII来排序显示)列表;没有规律下标
使用 key in object方式来遍历对象
取出的只为keyName(string)
for(let keyName in object){
console.log(keyName)
console.log(object[keyName])
}
1、keyName为string类型,无法通过object.keyName来引用
2、区分object['keyName']与object[keyName]的区别
(提示:字符类型与变量类型)
4、内置对象
概念:
JavaScript内部提供的对象,给予开发者调用
Math:
方法:
random:生成 [0,1) 之间的随机数
ceil:向上取整
floor:向下取整
max: 找最大值
min: 找最小值
Math.max/min(1,2,3,4,...arr)
//若直接传入arr,返回NaN
pow : 幂运算
abs : 绝对值
round : 四舍五入
随机数:
//生成0-10的随机数
Math.floor(Math.random()*(11))
//生成5-10的随机数
Math.floor(Math.random()*6)+5
//生成M-N的随机数
Math.floor(Math.random()*(N-M+1))+M
//利用floor取整来去除小数点
扩展:
术语:
关键字:在编译语言中具有特殊意义(即已经被编译语言使用)的词汇
保留字:在编译语言中目前没有意义,但未来可能具有特殊意义的词汇
例如:int short 、long 、char
标识(符):变量名、函数名的统一叫法
表达式:能产生值得代码,一般配合运算符出现,
语句: 以结束语为止的一段代码,输出、声明、分支
数据类型:
简单类型:基本数据类型或值类型
存储时、变量中存储的是值本身
复杂类型:存储变量的相关指针地址
使用new关键字创建的对象,object、array、date
堆与栈
简单数据类型存放到栈里
//栈,操作系统自动分配释放存储,
复杂数据存储在堆
//堆,一般由程序员分配释放,若不释放则由垃圾回收机制回收
//通过栈存储的地址指针引用
案例
学成在线页面渲染