1.IE 内核:Trident
2.FireFox 内核:Gecko
3.Chrome 内核:WebKit
4.Opera 内核:Presto
5.Edge 内核:Chakra
6.Safari 内核:WebKit
市面上大部分的浏览器就是以上六种了,当然还有其他浏览器,但都是基于以上内核开发的。有时间可以多了解一下内核的知识。
1.网页特效
2.服务端开发(Node.js)
3.命令行工具(Node.js)
4.桌面程序(Electron)
5.App(Cordova)
6.游戏开发(cocos2d-js)
7.控制硬件——物联网(Ruff)
1.ECMAScript:JS的核心,定义了JS的语法规范。
2.DOM:文档对象模型,操作页面元素的API集合。DOM把html看作是文档树,通过DOM提供的API可以对树上的节点进行操作。
3.BOM:浏览器对象模型,操作浏览器功能的API集合。通过BOM可以操作浏览器窗口,比如:弹出框/控制浏览器跳转/获取分辨率等。
var arr = ['book','computer','mobile'];
var arr1 = [1,2,34,'hello',[1,4,5]];
var arr1 = [1,2,34,'hello',[1,4,5]];
arr1.forEach(item => {
if(item instanceof Array){
item.forEach(i => console.log(i));
}else{
console.log(item);
}
});
var arr = ['book','computer','mobile'];
arr[1] = "water"; //book water computer mobile
①命名函数:function 函数名称(参数){函数体}
function say(){
console.log();
}
②匿名函数:function (参数){函数体}
function (){
alert(123);
}
③构造函数(执行效率低,使用较少):new Function(参数){函数体}
function Say(name){
this.name = name;
}
var a = new Say("coco");
console.log(a.name); //coco
④es6新加的箭头函数:
var add2 = (a,b) => {
return a + b;
}
console.log(add2(1,2)); //3
① 作用域类型:局部作用域/全局作用域
② JavaScript 函数作用域:每个函数创建一个新的作用域。作用域决定了这些变量的可访问性(可见性)。函数内部定义的变量从函数外部是不可访问的(不可见的)。
③ JavaScript 变量的有效期:
JavaScript 变量的有效期始于其被创建时。
局部变量会在函数完成时被删除。
全局变量会在您关闭页面是被删除。
① 闭包指有权访问另一个函数作用域中变量的函数。(简单理解可以说一个作用域可以访问另外一个函数内部的局部变量)
② 闭包的作用:延申变量的作用域。
① 如果函数在内部可以调用其自身,那么这个函数就是递归函数。
② 递归函数的作用和循环效果一样。
③ 由于递归容易发生“栈溢出”,所以必须要加退出条件return。
①对象字面量
var person = {
name: 'coco',
age:18,
say:function(){
console.log(this.name);
}
}
console.log(person);
②new Object()
var person = new Object();
person.name = "coco";
person.age = 18;
person.say = function(){
console.log("hello");
}
console.log(person);
③工厂函数创建对象
function f(name,age){
var person = new Object();
person.name = name;
person.age = age;
person.say = function(){
console.log("hello");
}
return person;
}
console.log(f("coco",18));
④自定义构造函数
function F(name,age){
this.name = name;
this.age = age;
this.say = function(){
console.log("hello");
}
}
console.log(new F("coco",18));
function Person(name,age){
this.name = name;
this.age = age;
}
var person = new Person("coco",18);
for(var key in person){
console.log(key + "=" + person[key])
}
② 删除对象属性:使用delete
var a= new Object;
a.a1 = 15;
a.a2 = 122;
delete a.a1;
NPM:全球最大的模块生态系统,Node.js的包管理工具。