1、声明函数并立即执行,返回全局变量,变量的值是一个对象。和声明对象异曲同工。这种算是带变量名的对象声明,不需要new 对象。
var demo = function () {
function demo1(posterSrc, width, height) {
}
function demo2(posterSrc, width, height) {
}
return {
demo1: demo1,
demo2: demo2
};
}();
2、top全局的浏览器对象,代表窗口,代表窗口的最顶级window对象,在多frame或iframe的情况下,可以使用此全局对象,声明多frame可公用的属性或者方法或者对象。
3、document有全局事件方法,oncontextmenu(鼠标右键事件),鼠标单击事件,事件流式从document对象上往下流,向下分发,全局的事件监听都可以通过此对象,重写事件的监听函数。
4、在html文档中动态插入内容
<div id="playbutton" class="vod-ui-button">
<script>
document.write(i18n.text('play'))
</script>
</div>
5、Javascript不能直接读取本地文件,针对工程内配置文件的读写,可以将配置文件定义为json,通过网络加载解析,达到读取本地文件的同样的效果。
6、字符串转int, float函数: parseInt() parseFloat()
7、直接执行函数
(function(){
})();
(function(win){
})(window);
// 在function前添加+/-/!/~单目运算符,为了执行该函数,bootstrap框架的js有这种写法
+function(){
console.log(1111);
}()
// 甚至可以这样,将函数定义变成了表达式的形式,解析器就会自动执行函数
0 * function(){
alert(1);
}();
8、使用+将字符串转为number
var str = "89";
var num = +str
9、js中的这种写法
Object.defineProperty(t, "__esModule", {
"value": !0
});
!0 = true , !1 = false
10、覆盖window/document提供的对象,对window对象实施代理,譬如mock就是通过覆盖window的XMLHttpRequest来实现对异步请求的拦截。js可以动态添加/修改对象的属性和方法,这一能力对修改浏览器提供的对象将大大的有用武之地。
11、java虚拟机的加载机制不允许外部同名类替换系统JRE提供的核心类库中的类,但js没有这一限制,app代码可以提供js来置换宿主提供的原生对象。
React.js中事件处理,与DOM元素处理类似,但也有一些不同的语法。React 事件名称使用驼峰命名,而不是全小写命名。使用JSX,可以将函数作为事件处理程序传递,而不是字符串。es6的class语法规定,类的方法内部,如果含有this,它默认指向类的实例
原理是~是一个叫做按位非的操作,会返回数值的反码,两次取反就是原数。|为位运算符,两个位只要有一个为1,那么结果都为1,否则就为0。>>运算符执行有符号右移位运算。都是二进制操作。
我所知道的 JavaScript 的 switch 语句只有一种写法。但要说到对分支的处理,写法可就多了去了。if 分支写法可以算一种,switch 分支写法可以算第二种,第三种是使用策略模式,如果要把条件运算符也算上的话,嗯,刚好四种。
JavaScript是一种非常灵活和强大的编程语言,它有很多神奇的写法和骚操作,让开发者可以用更简洁和优雅的方式实现各种功能。本文将介绍一些JS的神奇写法,包括:
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!