小程序学习记录
一、小程序的学习路径
- ES6语法
- HTML和CSS的学习
- 微信组件和API的学习
二、小程序的加载流程
- 小程序的宿主是微信,打开小程序,首先会下载下程序的所有文件。小程序会读取app.json(应用配置文件)中的pages的第一个目录下的页面。
- 页面渲染的时候,先读取.json的配置文件,再读取wxml和wxss文件渲染,最后读取wxjs文件加载数据
- 渲染层和逻辑层是分别在不同的线程,渲染层可以有多个通过webview进行显示;逻辑层是在单独的jscore里面进行处理,不会阻塞渲染层的显示。
三、ES6语法的学习
- 作用域的概念
- ES6有三种作用域:全局作用域、函数作用域、快级作用域。
- var、let、const修饰变量的区别
- var的变量有变量提升,可以先使用后定义(解释的时候会提升);
- let修饰的变量不能跨块操作;var修饰的变量不能跨函数操作;
- const修饰的变量必须初始化而且不能改变
- 原型链的理解([[prototype]]、
__proto__
、prototype)
原型链继承指得是
__proto__
的继承链,[[prototype]]是__proto
的不同书写方式JS中的对象实例化有new和字面量两种,每个对象的
__proto__
都指向构造函数的原型对象,构造函数的原型对象是在定义时候自动添加的,默认为{};字面量对象的创建实质如下:1
2
3
4
5
6
7
8
9
10
11
12var xiaowang = {
name: "小王",
sayHello: function(){
console.log("hello, my name is" +" " + this.name);
}
}
// 相当于如下Object为其构造函数
var xiaowang = new Object();
xiaowang.name = "小王";
xiaowang.sayHello = function(){
console.log("hello, my name is" +" " + this.name);
};任何函数有且只有函数都有一个prototype,在其定义(具体时机尚不清除)的时候产生,默认为{},函数也是对象,它的
__proto__
均为Function.prototype, 因为任何函数本质都是由Function实例化的。特殊性Function[函数是自身构造的,构成了闭环;Object.protype对象的
__proto__
比较特殊指向了null,表明原型继承链的顶点
- js中new对象的过程(待补充)
- js中继承的过程(待补充)
- Object的常用属性和方法(待补充)
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!