<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<title>14_class
1. 通过class定义类/实现类的继承
2. 在类中通过constructor定义构造方法
3. 通过new来创建类的实例
4. 通过extends来实现类的继承
5. 通过super调用父类的构造方法
6. 重写从父类中继承的一般方法
-->
<script type="text/javascript">
/*function Person(name, age){
this.name = name;
this.age = age;
}
let person = new Person('kobe', 40);
console.log(person);*/
//定义一个人物的类
class Person{
// 类的构造方法
constructor(name, age){
this.name = name;
this.age = age;
}
// 类的一般方法
showName(){
console.log('调用父类的方法');
console.log(this.name, this.age);
}
}
let person = new Person('kobe', 40);
console.log(person);
// person.showName();
// Python写法 Class starperson(person):
// 子类
class StarPerson extends Person{
constructor(name, age, salary){
// 调用父类的方法
super(name, age);
this.salary = salary;
}
// 父类的方法重写
showName(){
console.log('调用子类的方法');
console.log(this.name, this.age, this.salary);
}
}
let sp = new StarPerson('wade', 36, 152450000);
console.log(sp);
sp.showName();
</html>
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<title>15_判断字符串
1、includes(str): 判断是否包含指定的字符串
2、startsWith(str): 判断是否以指定字符串开头
3、endsWith(str): 判断是否以指定字符串结尾
4、repeat(count): 重复指定次数
-->
<script type="text/javascript">
let str = 'asdfohsvckxnlck';
/* 1、includes(str): 判断是否包含指定的字符串 */
// console.log(str.includes('t')); //false
// console.log(str.includes('a')); //true
/* 2、startsWith(str): 判断是否以指定字符串开头 */
// console.log(str.startsWith('a')); //true
/* 3、endsWith(str): 判断是否以指定字符串结尾 */
// console.log(str.endsWith('k')); //true
/* 4、repeat(count): 重复指定次数 */
console.log(str.repeat(3));
</html>
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<title>16_数值扩展
1、二进制与八进制数值表示法: 二进制用0b, 八进制用0o
2、Number.isFinite(i): 判断是否是有限大的数
3、Number.isNaN(i): 判断是否是NaN
4、Number.isInteger(i): 判断是否是整数
5、Number.parseInt(str): 将字符串转换为对应的数值
6、Math.trunc(i): 直接去除小数部分
-->
<script type="text/javascript">
/* 1、二进制与八进制数值表示法: 二进制用0b, 八进制用0o */
console.log(0b1010);//10
console.log(0o56);//46
/* 2、Number.isFinite(i): 判断是否是有限大的数 */
console.log(Number.isFinite(123));//true
console.log(Number.isFinite(Infinity));//flase
/* 3、Number.isNaN(i): 判断是否是NaN */
console.log(Number.isNaN(NaN));//true
/* 4、Number.isInteger(i): 判断是否是整数 */
console.log(Number.isInteger(123));//true
console.log(Number.isInteger(123.456));//false
console.log(Number.isInteger(123.0));//true
/* 5、Number.parseInt(str): 将字符串转换为对应的数值 */
console.log(Number.parseInt('123abc456'));//123
console.log(Number.parseInt('a123abc456'));//NaN
/* 6、Math.trunc(i): 直接去除小数部分 */
console.log(Math.trunc('123.123'));//123
</html>
<html lang="en">
<meta charset="UTF-8">
<title>17_数组扩展
<button>测试1
<button>测试2
<button>测试3
1、Array.from(v): 将伪数组对象或可遍历对象转换为真数组
2、Array.of(v1, v2, v3): 将一系列值转换成数组
3、find(function(value, index, arr){return true}): 找出第一个满足条件返回true的元素
4、findIndex(function(value, index, arr){return true}): 找出第一个满足条件返回true的元素下标
-->
<script type="text/javascript">
/* 获取button按钮 */
let btns = document.getElementsByTagName('button');
/* 1、Array.from(v): 将伪数组对象或可遍历对象转换为真数组 */
Array.from(btns).forEach(function(item, index){
console.log(item);
})
/* 2、Array.of(v1, v2, v3): 将一系列值转换成数组 */
let arr = Array.of(1, 4, 'abc', true);
console.log(arr);
/* 3、find(function(value, index, arr){return true})
:找出第一个满足条件返回true的元素 */
let arr2 = [2,3,4,2,5,7,3,6,5];
let result = arr2.find(function(item, index){
return item > 4;
});
console.log(result);//5
/* 4、findIndex(function(value, index, arr){return true})
:找出第一个满足条件返回true的元素下标 */
result = arr2.findIndex(function(item, index){
return item > 4;
});
console.log(result);//4
</html>
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<title>18_对象扩展
1、Object.is(v1, v2)
* 判断2个数据是否完全相等
2、Object.assign(target, source1, source2..)
* 将源对象的属性复制到目标对象上
3、直接操作 __proto__ 属性
let obj2 = {};
obj2.__proto__ = obj1;
-->
<script type="text/javascript">
/* !vue可以用到! */
/* 1、Object.is(v1, v2): 判断2个数据是否完全相等 */
console.log(0 == -0);//true
console.log(NaN == NaN);//false
console.log(Object.is(0, -0));//false
console.log(Object.is(NaN, NaN));//true
/* 2、Object.assign(target, source1, source2..)
:将源对象的属性复制到目标对象上 */
let obj = {};
let obj1 = {username:'iverson', age:43};
let obj2 = {sex: '男'};
Object.assign(obj, obj1, obj2);
console.log(obj);
/* 3、直接操作 __proto__ 属性
let obj2 = {};
obj2.__proto__ = obj1; */
let obj3 = {};
let obj4 = {money: 5000000};
obj3.__proto__ = obj4;
console.log(obj3);
console.log(obj3.money);
</html>
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<title>Title
1. 指数运算符(幂): **
2. Array.prototype.includes(value) : 判断数组中是否包含指定value
-->
<script type="text/javascript">
/* 2的3次方=8 */
console.log(2 ** 3);//8
/* 数组中是否包含** */
let arr = [1,4,5,6,'abc'];
console.log(arr.includes('a'));//false
console.log(arr.includes('abc'));//true
console.log(arr.includes(4));//true
</html>
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<title>01_HelloWorld
1、引入Vue.js
2、创建Vue对象
el: 指定根element(选择器)
data: 初始化数据(页面可以访问)
3、双向数据绑定: v-model
4、显示数据: {{xxx}}
5、理解vue的mvvm实现
-->
<div id="app">
<input type="text" v-model="username">
<p>Hello {{username}}
<script type="text/javascript" src="js/vue.js">
<script type="text/javascript">
// 创建Vue实例
// 配置对象
const vm = new Vue({
// element: 选择器, 表明将页面哪个元素交给Vue管理
el: '#app',
//数据(Model)
data:{
username: 'vue'
}
})
vm.username = 'kobe';
</html>