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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user