vuejs
这东西,实不相瞒,学习了很长时间,从看文档到使用,大概有一年的时间。当然,其实上手没有那么难,<script src="vue.js"></script>
这样就搞定了。只是想要用的比较优雅,存在一定的难度。
但是硬核玩家肯定不能止步于此。于是就开始了vue-cli
的探究。没想到这个探究如此之长,以至于我在很长一段时间内,都没有正儿八经的写过前端。
vuejs
这东西,实不相瞒,学习了很长时间,从看文档到使用,大概有一年的时间。当然,其实上手没有那么难,<script src="vue.js"></script>
这样就搞定了。只是想要用的比较优雅,存在一定的难度。
但是硬核玩家肯定不能止步于此。于是就开始了vue-cli
的探究。没想到这个探究如此之长,以至于我在很长一段时间内,都没有正儿八经的写过前端。
方才阅读es6的时候遇到一个问题:
这就想了,如果没有let
关键字,我们如何处理这个问题呢?
此时就涉及到一个概念,闭包 clojure
。
不要被这个复杂的名词欺骗了,就是函数套函数,函数返回函数而已。解决这个问题关键在于
块级作用域和函数作用域的理解;在Javascript中,并不支持块级作用域,它只支持函数作用域,
而且在一个函数中的任何位置定义的变量在该函数中的任何地方都是可见的。
因此,我们在Js这个特性的基础上,使用闭包,然后就可以解决这个问题了:
为什么要解决这个问题?因为有时候在for循环中使用回调可能与参数i
有所联系,可能会遭遇到
问题;
当然,如果使用es6这种问题就不会发生了。es6大法好。
这两天做微信小程序赶个潮流,体验了一下回调——之前一直听人讲“回调地狱”,这次终于
亲身感受了一下。的确是“地狱”。
不过既然能够出现“回调地狱”,也必然有人可以避免,甚至在一定程度上解决这个问题。
一般情况下,我不怎么写回调的代码;一方面是因为没有这个习惯,之前写算法题目,基
本上不写回调——不过行文至此,突然想起许多题目都有用回调从而更加优雅解决的方案,囧。
再贴一篇c++的函数传递
本以为Java不存在回调地狱,也就不存在回调——询问之后,才意识到Java之所以不存在回调
地狱,是因为Java本身要用回调,需要传类作为参数;一方面,如果使用回调,会使得代码
变长;另一方面,尽管代码变长,但是相比较简短的代码,问题描述的更加清晰明确。
这可能就是为什么Js被称为玩具语言的原因之一吧。
回调函数的优势:
然后讲讲Python:
最后一个才是最酷的。
利用WebRTC照镜子,源代码见下方SourceCode
这篇博文是在我之前使用ananote?主题发布的,在next主题上,会导致打开这个文章所在的pages,自动调用摄像头——然而没有多少影响,因为不是https「笑,https好贵」,所以对访客而言,没有什么影响。
<style type="text/css">
body {
margin: px;
padding: px;
}
#player {
width: 100%;
height: 100%;
}
</style>
<script>
(function(){
var mediaOptions = { audio: false, video: true };
if (!navigator.getUserMedia) {
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
}
if (!navigator.getUserMedia){
return alert('getUserMedia not supported in this browser.');
}
navigator.getUserMedia(mediaOptions, success, function(e) {
console.log(e);
});
function success(stream){
var video = document.querySelector("#player");
video.src = window.URL.createObjectURL(stream);
}
})();
</script>
<video id="player" autoplay="true"></video>
在javascript函数外部定义的变量均为全局变量。
调用jQuery, 需要把jQuery放在<script>
最前。
调用本地jQuery的代码
jQuery 目录: ../js/jquery-1.11.1.min.js/
其他的script文件放在jquery后即可
依据w3cschool修改
上传文件type=file
真心丑,所以采用方法解决一下。
中心思想是隐藏input
,然后利用css定位,使其仍然可以被点击(有点欺骗的性质)
diabled='disabled'
)