函数
函数对象解构赋值1234567function func({name,age}) { age += 1; console.log(age);}func({name:'张三',age:15});func({age:15,name:'张三'});
通过键值形式传参,可以避免参数传反
设置默认值123456function func({name,age} = {}) { age += 1; console.log(age);}func();
func()相当于传入了undefined,使用默认值,默认值是空值,空值加1返回NaN
123456function func({name='xx',age= 25} = {}) { age += 1; console.log(age);}func();
执行对象解构 ...
分支语句与循环
while循环
123456var num = 0;while (num < 2) { num += Math.random();}console.log('at last,num is:',num);
do while循环
1234567var num = 0;do { num += Math.random(); } while(num < 2);console.log('at last,num is:',num);
do while先执行do语句块再判断,所以至少先执行一遍再判断是否继续循环
for循环
123456789101112131415161718192021for (var i = 1;i < 5;i++) { console.log(i)}//第二种写法var sum = 0;var j = 0;for (; j < 10;) { sum += j; j++;}console.log(s ...
查询字符串&模板字符串
查询字符串开头结尾和包括1234567891011let str = 'hello world'console.log(str.includes('e'))console.log(str.includes('f'))console.log(str.startsWith('h'))console.log(str.startsWith('hello'))console.log(str.startsWith('ha'))console.log(str.endsWith('h'))console.log(str.endsWith('world'))console.log(str.endsWith('hello'))
includes():查询字符串是否包含某个字符串,有返回true,没有返回false
startsWith():检查字符串是否以某个字符串开头,是返回true,否则返回false
endsWith( ...
模块
自定义模块和导入导出导出模块
12345function sum(a,b) { return a + b;}module.exports.sum = sum;// console.log(module.exports);
引用模块
123const p = require('./pretty.js');// console.log(p)console.log(p.sum(1,2))
加载js文件后缀可以省略,会从.js、.json、.node顺序依次加载
引入内置模块1const fs = require("fs")
面向对象
类与继承12345678910111213141516class Person { constructor(name,age) { this.name = name; this.age = age; } showInfo() { console.log(this.name,this.age) } static showName() { console.log('这个人活了'); }}var person = new Person('高冷俊',22);person.showInfo();Person.showName();
类中的方法不需要带function关键字。类中的方法前添加static关键字表示该方法是一个静态方法。静态方法无法通过实例调用,只能通过类调用
12345678910111213141516171819202122232425class Animal ...