forked from theluyuan/Web
modify
This commit is contained in:
parent
575b853d31
commit
aae88046b6
@ -14,19 +14,15 @@
|
||||
当函数调用call()和apply()时,函数都会立即**执行**。
|
||||
|
||||
|
||||
- 都是用来改变函数的this对象的指向的。
|
||||
- 都可以用来改变函数的this对象的指向。
|
||||
|
||||
- 第一个参数都是this要指向的对象(函数执行时,this将指向这个对象)。
|
||||
|
||||
- 都可以利用后续参数传实参。
|
||||
- 第一个参数都是this要指向的对象(函数执行时,this将指向这个对象),后续参数传实参。
|
||||
|
||||
|
||||
**call()和apply()的区别:**
|
||||
|
||||
|
||||
- call()方法可以将实参在对象之后依次传递。
|
||||
|
||||
- apply()方法需要将实参封装到一个**数组**中统一传递。
|
||||
call()和apply()方法都可以将实参在对象之后依次传递,但是apply()方法需要将实参封装到一个**数组**中统一传递。
|
||||
|
||||
比如针对下面这样的代码:
|
||||
|
||||
|
@ -34,7 +34,7 @@
|
||||
<script>
|
||||
window.onload = function () {
|
||||
var myDiv = document.getElementsByTagName('div');
|
||||
for (i = 0; i < myDiv.length; i++) {
|
||||
for (var i = 0; i < myDiv.length; i++) {
|
||||
myDiv[i].onclick = function () {
|
||||
console.log(i);
|
||||
}
|
||||
@ -58,11 +58,11 @@
|
||||
```
|
||||
|
||||
|
||||
上方代码的正确打印结果是5。你可能会觉得很惊讶。我们来解释一下:
|
||||
点击其中的任何一个元素后,上方代码的正确打印结果是5。你可能会觉得很惊讶。我们来解释一下:
|
||||
|
||||
当代码执行完毕后,i已经等于5了。因为一旦运行程序,for循环已经执行完了,此时i等于5。
|
||||
|
||||
如果我们尝试在 myDiv[i].onclick事件中写代码的时候,如果打印:
|
||||
现在,我们尝试在 myDiv[i].onclick事件中写代码,如果打印:
|
||||
|
||||
```
|
||||
console.log(i); //打印结果为5
|
||||
@ -83,12 +83,14 @@
|
||||
|
||||
你看,this的作用,就体现出来了。
|
||||
|
||||
PS:顺便提醒一下,上面的代码中,如果把`var i`改成`let i`,效果又完全不同了。参考链接:[let和var在for循环中的表现](http://blog.csdn.net/stopllL/article/details/64130664)
|
||||
|
||||
### 全局作用域中的this
|
||||
|
||||
当一段代码在浏览器中执行时,所有的全局变量和对象都是在window对象上定义的。换而言之,所有的全局变量和对象都属于window对象。
|
||||
|
||||
|
||||
### this的定律
|
||||
## this的定律
|
||||
|
||||
this关键字永远指向函数(方法)运行时的**所有者**。
|
||||
|
||||
@ -114,7 +116,7 @@ this都是指向window。
|
||||
### 以方法的形式调用时,this是调用方法的对象
|
||||
|
||||
|
||||
### 解决闭包中的this指向问题
|
||||
## 解决闭包中的this指向问题
|
||||
|
||||
|
||||
内部函数是可以访问到外部函数的变量的。
|
||||
|
74
19-基础/01-常见.md
Normal file
74
19-基础/01-常见.md
Normal file
@ -0,0 +1,74 @@
|
||||
|
||||
|
||||
## HTML
|
||||
|
||||
|
||||
### 你是如何理解 HTML 语义化的?
|
||||
|
||||
|
||||
**语义化**:指对文本内容的结构化(内容语义化),选择合乎语义的标签(代码语义化)。
|
||||
|
||||
|
||||
**举例**:段落用 p,边栏用 aside,主要内容用 main 标签。
|
||||
|
||||
|
||||
**好处:**
|
||||
|
||||
- 便于开发者阅读和维护
|
||||
|
||||
- 有利于SEO:让浏览器的爬虫和辅助技术更好的解析,
|
||||
|
||||
|
||||
**语义化标签介绍**:
|
||||
|
||||
在HTML5出来之前,我们习惯于用div来表示页面的章节或者不同模块,但是`div`本身是没有语义的。但是现在,HTML5中加入了一些语义化标签,来更清晰的表达文档结构。
|
||||
|
||||
20180322_1120.jpg
|
||||
|
||||
|
||||
|
||||
参考链接:
|
||||
|
||||
- [初探 · HTML5语义化](https://zhuanlan.zhihu.com/p/32570423)
|
||||
|
||||
|
||||
### meta viewport 是做什么用的,怎么写?
|
||||
|
||||
|
||||
|
||||
```html
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
```
|
||||
|
||||
控制页面在移动端不要缩小显示。
|
||||
|
||||
|
||||
### canvas 元素是干什么的?
|
||||
|
||||
看 MDN 的 [canvas 入门手册](https://developer.mozilla.org/zh-CN/docs/Web/API/Canvas_API)。
|
||||
|
||||
|
||||
|
||||
## CSS
|
||||
|
||||
### 说一下盒模型
|
||||
|
||||
可以参考本人的另外一篇文章:[]()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## 参考链接
|
||||
|
||||
- [互联网公司招聘启事的正确阅读方式](https://zhuanlan.zhihu.com/p/33998813)
|
||||
|
||||
|
5
19-基础/02-this相关.md
Normal file
5
19-基础/02-this相关.md
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
|
||||
|
||||
## this 在各个场景下的指向
|
||||
|
22
19-基础/异步.md
Normal file
22
19-基础/异步.md
Normal file
@ -0,0 +1,22 @@
|
||||
|
||||
|
||||
## 面试题
|
||||
|
||||
### 20180321面试题
|
||||
|
||||
```javascript
|
||||
console.log(1);
|
||||
|
||||
setTimeout(function () {
|
||||
console.log(2);
|
||||
}, 1000);
|
||||
|
||||
setTimeout(function () {
|
||||
console.log(3);
|
||||
}, 0);
|
||||
|
||||
console.log(4);
|
||||
```
|
||||
|
||||
|
||||
|
@ -1,18 +0,0 @@
|
||||
|
||||
|
||||
|
||||
### 2018-01-29
|
||||
|
||||
长期写博客的人,最少能证明他是一个善于思考和总结的人。
|
||||
|
||||
这句话的来源:[我依然坚持建议你开始写博客 | 写给我的 2017](https://www.cnblogs.com/plokmju/p/8108846.html)
|
||||
|
||||
|
||||
|
||||
### 2018-03-21
|
||||
|
||||
- [不谈面试题,谈谈招聘时我喜欢见到的特质](https://www.cnblogs.com/dino623/p/8583514.html)
|
||||
|
||||
|
||||
|
||||
|
@ -40,7 +40,7 @@
|
||||
如果我们在控制台输入`myVue.data+='123'`,页面会**自动更新**name的值。
|
||||
|
||||
|
||||
下面来讲一下Vue的系统指令
|
||||
下面来讲一下Vue的各种系统指令。
|
||||
|
||||
## v-on:注册事件
|
||||
|
||||
@ -320,12 +320,12 @@ v-text可以将一个变量的值渲染到指定的元素中。例如:
|
||||
<script>
|
||||
var vm = new Vue({
|
||||
el: '#app',
|
||||
//采用v-model进行双向数据绑定,数据会自动更新到data里面来
|
||||
//上面的标签中采用v-model进行双向数据绑定,数据会自动更新到data里面来
|
||||
data: {
|
||||
name: 'smyhvae',
|
||||
myAccount: {username: '', userpwd: ''}
|
||||
},
|
||||
//绑定方法,根据业务需要进行操作
|
||||
//在methods里绑定各种方法,根据业务需要进行操作
|
||||
methods: {
|
||||
submit1: function () {
|
||||
alert(this.myAccount.username + " pwd=" + this.myAccount.userpwd);
|
||||
|
Loading…
Reference in New Issue
Block a user