xugaoyang

Results 65 comments of xugaoyang

json文件的内容从某种意义上讲是属于代码的一种。打开json最好的方式是使用代码编辑工具。 比如visual studio code或sublime。 千万不要用记事本。记事本对字符的编码可能导致你写出来的json有问题。

你能思考这个问题,我觉得你就差不多懂了很多了。 1. 如果是同步函数,直接返回结果肯定比间接返回结果要好。思路的清晰度和资源消耗方面都要好。 2. 如果是异步函数,就必须要使用间接返回。

@mdqsky 理解老师举间接调用例子的目的是为了从直接调用到异步处理的过渡。 => 你太了解我了哈哈。

@WANGXUANDING 1. 会走default流程。switch表达式要和case的条件值匹配上才行。 2. 你猜对了,是我copy错了:)谢谢。 3. 一般我们在平时技术上讨论循环的次数,大家的共识是指循环体的执行次数。

@freedomsky11 的答案正解! 先看一种情况。 ```javascript var obj = { count: 1 } var anotherObj = { count: 1 } console.log(anotherObj === obj); => false ``` 分别定义了obj和anotherOjb,他们的对象实体内容虽然都一样,但还是不同的对象。 对象赋值并不是等于复制对象,而是引用。 ```javascript var obj =...

.DS_Store是mac的系统文件。提交时不要带这个文件。 假如你更新了getting-started-with-javascript最新的项目,在执行`git status`时是看不到这个文件的。因为我在项目中假如了配置文件,明确告诉git忽略对DS_Store文件的收录。 如果你还是提示怎么办? 在`git add`之前手动删除这个文件。 ![image](https://user-images.githubusercontent.com/3000884/29248621-5403dbdc-804f-11e7-864b-57a09b4c18a1.png) ``` rm -f homework/.DS_Store ```

> 问题1:一个执行函数调用了一个异步函数,异步函数首先的反应是说声好的,然后就去判断参数、逻辑处理、返回结果。那么这个好的 是以什么样的方式传递给调用者的呢,如果自己想了解也想构造类似简单的异步函数需要了解什么资料呢? => 异步函数收到一次调用,会执行一个严谨过程后(执行完内部的所有代码),再告诉调用者“好”。 比如: ```javascript function checkFlightSchedule(callback) { console.log('开始查航班信息'); setTimeout(function() { // 模拟构建航班的时间信息 var scheduleInfo = { start: '8/23 8:00', end: '8/23 10:30', from: 'beijing', to: 'hangzhou' };...

> 问题2: 假如函数a()调用了异步b(),b()简单处理后将参数传递给并调用异步c(),····假设依次传到m()了,好比老板调用了秘书、秘书却安排人事来处理、人事还安排他的助手处理那么这个最终返回结果过程会通过每次调用塞的callback函数原路返回对吗? => 当然会。事实上每一层嵌套调用传递的都是同一个callback。当然,也可以再每个函数内部重新构建一个新的callback嵌套。但这似乎没必要。 ```javascript function a (callback) { b(callback) } function b(callback) { // do something callback(); } a(function() { console.log('run callback'); }); ``` 以上事实上一直在嵌套传递同一个callback。 ```javascript function a...

> 问题3:浏览器访问一个网址,服务器返回html+css+js这些文件,浏览器接收后渲染页面,执行js文件,假如这些js文件中有无限循环的函数,出于安全及节省资源考虑浏览器运行环境是不是要终止函数循环。?在没有get和post的请求下,怎么才能用函数控制页面的值不停的循环变化呢?就像标签可以加loop循环属性。需要用什么方法呢 ? => 如果js代码只是在浏览器运行环境自循环,并不会出于安全考虑而终止,只会导致资源枯竭而异常。 如果无限循环在访问服务器资源,这可以视为一种攻击,安全问题会在服务端处理。比如通过某种手段直接断掉该ip的访问,这就是所谓的攻防技术。 如果想不停循环变化页面内容,最简单的方案就是用定时器。setTimeout来循环嵌套调用。 ```javascript function callback() { // 你的业务逻辑 setTimeout(callback, 1000); } setTimeout(callback, 1000); ``` 以上代码1秒回调callback,callback函数内部又调用setTimeout。一直循环下去。

> 问题4:使用vue在body里挂上钩子,就可以通过函数来渲染页面,那么html文件里和里彼此的变量和方法是怎么构建起连接的呢? => 如果抛开vue,html和js代码怎么处理(用js怎么控制html上的节点)?html有一个DOM概念,即浏览器的运行环境在加载完所有的节点后,会虚拟化出一颗树对象-- DOM树对象 -- 在代码就是document对象。这个对象在js代码中可以被访问。这时你就可以通过document对象来操作节点。 ```javascript var element = document.getElementById('#title'); ``` 以上代码就是在js中通过document获取id为title的节点。 或者到这个节点element变量后,就可以通过element变量来改变这个节点的值。 html最繁琐的就是直接操作节点。vue技术帮我们把脏活累活给干了。 https://developer.mozilla.org/zh-CN/docs/Web/API/Document