响应式布局.md
本文章设计问题页面设计需要在不同的设备上显示
布局只用float+定位,不使用flex
不能很好的使用rem作为设计单位
掌握响应式布局,弹性等常见布局
媒体查询基本认识为不同的尺寸的屏幕设定不同的CSS样式。(移动端设备更为常见)案例:
12345678910111213141516div{ width:150px; height:200px;}@media screen and (min-device-width:100px) and (max-device-width:300px){ div{ background-color:red; }}@media screen and (min-device-width:301px) and (max-device-width:500px){ div{ background-color:pink; }}
当屏幕宽度为100到300的时候,背景颜色是红色。当屏幕宽度为301px ...
CMake
CMake什么是CMake在Android Studio 2.2及以上,构建原生库的默认工具是CMake。
CMake是一个跨平台的构建工具,可以用简单的语句来描述所有平台的安装(编译过程)。能够输出各种各样的makefile或者project文件。CMake并不直接构建出最终的软件,而是产生其他工具的脚本(如makefile),然后再依据这个工具的构建方式使用。
CMake是一个比make更高级的编译配置工具,它可以根据不同的平台、不同的编译器,生成相应的makefile或vcproj项目,从而达到跨平台的目的。
Android Studio利用CMake生成的是ninja。ninja是一个小型的关注速度的构建系统。我们不需要关心ninja的脚本,知道怎么配置CMake就可以了。
CMake其实是一个跨平台的支持产出各种不同的构建脚本的一个工具。
CMake的学习问题CMake学习并不算难,主要是学习资料不成体系。让人觉得很难。
CMake安装通过官网 https://cmake.org/ 下载。
LinuxWindowsVSCode配置CMake加载CMake和CMake Tool ...
CMake
CMake什么是CMake在Android Studio 2.2及以上,构建原生库的默认工具是CMake。
CMake是一个跨平台的构建工具,可以用简单的语句来描述所有平台的安装(编译过程)。能够输出各种各样的makefile或者project文件。CMake并不直接构建出最终的软件,而是产生其他工具的脚本(如makefile),然后再依据这个工具的构建方式使用。
CMake是一个比make更高级的编译配置工具,它可以根据不同的平台、不同的编译器,生成相应的makefile或vcproj项目,从而达到跨平台的目的。
Android Studio利用CMake生成的是ninja。ninja是一个小型的关注速度的构建系统。我们不需要关心ninja的脚本,知道怎么配置CMake就可以了。
CMake其实是一个跨平台的支持产出各种不同的构建脚本的一个工具。
CMake的学习问题CMake学习并不算难,主要是学习资料不成体系。让人觉得很难。
CMake安装通过官网 https://cmake.org/ 下载。
LinuxWindowsVSCode配置CMake加载CMake和CMake Tool ...
彻底搞懂this指向
this是JavaScript中的一个关键字,但是又一个相对比较特别的关键字,不像function、var、for、if这些关键字一样,可以很清楚的搞清楚它到底是如何使用的。
this会在执行上下文中绑定一个对象,但是是根据什么条件绑定的呢?在不同的执行条件下会绑定不同的对象,这也是让人捉摸不定的地方。
这一次,我们一起来彻底搞定this到底是如何绑定的吧!
理解this为什么使用this在常见的编程语言中,几乎都有this这个关键字(Objective-C中使用的是self),但是JavaScript中的this和常见的面向对象语言中的this不太一样:
常见面向对象的编程语言中,比如Java、C++、Swift、Dart等等一系列语言中,this通常只会出现在类的方法中。
也就是你需要有一个类,类中的方法(特别是实例方法)中,this代表的是当前调用对象。
但是JavaScript中的this更加灵活,无论是它出现的位置还是它代表的含义。
使用this有什么意义呢?下面的代码中,我们通过对象字面量创建出来一个对象,当我们调用对象的方法时,希望将对象的名称一起进行打印。如果没 ...
JavaScript 闭包(Closure).md
闭包如果在内部函数使用了外部函数的变量, 就会形成闭包. 闭包保留了外部环境的引用
如果内部函数被返回到了外部函数的外面, 在外部函数执行完后, 依然可以使用闭包里的值
闭包的形成在内部函数使用外部函数的变量, 就会形成闭包, 闭包是当前作用域的延伸。
12345678function a() { var aa = 100 function b() { console.log(aa) } b()}a()
从代码的角度看, 闭包也是一个对象, 闭包里包含哪些东西呢?在内部函数b中使用了外部函数a中的变量, 这个变量就会作为闭包对象的属性!!
12345678function a() { var aa = 100 function b() { console.log(b) } b()}a()
会不会形成闭包?
如果形成, 闭包里有什么?会形成闭包, 由于b的声明是在外部函数a中的, 在内部函数b中使用了b, 会形成闭包。闭包里存放了一个属性, 就是b函数。
123456789 ...
JavaScript 闭包(Closure).md
闭包如果在内部函数使用了外部函数的变量, 就会形成闭包. 闭包保留了外部环境的引用
如果内部函数被返回到了外部函数的外面, 在外部函数执行完后, 依然可以使用闭包里的值
闭包的形成在内部函数使用外部函数的变量, 就会形成闭包, 闭包是当前作用域的延伸。
12345678function a() { var aa = 100 function b() { console.log(aa) } b()}a()
从代码的角度看, 闭包也是一个对象, 闭包里包含哪些东西呢?在内部函数b中使用了外部函数a中的变量, 这个变量就会作为闭包对象的属性!!
12345678function a() { var aa = 100 function b() { console.log(b) } b()}a()
会不会形成闭包?
如果形成, 闭包里有什么?会形成闭包, 由于b的声明是在外部函数a中的, 在内部函数b中使用了b, 会形成闭包。闭包里存放了一个属性, 就是b函数。
123456789 ...
JavaScript 面向对象.md
面向对象创建对象的方法1. Object 构造函数使用new Object()创建对象,然后动态添加属性。
2. 对象字面量3. 工厂函数4. 自定义构造函数5. 自定义构造函数 + 原型6. ES6 类(class)实现继承1. 原型链2. 借用构造函数(假的)3. 原型链+借用构造函数(组合继承)4. ES6 类继承备忘录1pink老师的p36继承相关视频
参考
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Inheritance_and_the_prototype_chain
JavaScript 面向对象.md
面向对象创建对象的方法1. Object 构造函数使用new Object()创建对象,然后动态添加属性。
2. 对象字面量3. 工厂函数4. 自定义构造函数5. 自定义构造函数 + 原型6. ES6 类(class)实现继承1. 原型链2. 借用构造函数(假的)3. 原型链+借用构造函数(组合继承)4. ES6 类继承备忘录1pink老师的p36继承相关视频
参考
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Inheritance_and_the_prototype_chain