js
mandyucan
这个作者很懒,什么都没留下…
展开
-
gulp配置
// gulp.src() //读文件// gulp.dest()//写文件// gulp.task()//任务// gulp.watch()//监听var gulp = require("gulp");var htmlClean = require("gulp-htmlclean") //压缩HTML的插件var imgMin = require("gulp-imagemin")...原创 2018-04-19 21:05:35 · 316 阅读 · 0 评论 -
js中a.b与a[b]除了书写外,有什么区别?
在JS对象中,a.b与a[b]并没有什么区别,都是获得该对象的某个属性,不同之处在于a[b]中的b必须是个字符串; 但在数组里,那就不能写成arr.idx了,只能是arr[idx]。resultList["movie"] = {}给resultList设置movie属性var b = {a: 12}; b['a']也可以取到a的值。...原创 2018-07-30 15:39:09 · 3558 阅读 · 0 评论 -
x-mind JS基础
x-mind JS基础原创 2018-07-24 23:15:37 · 1408 阅读 · 0 评论 -
跨域与jsonp
同源策略只有满足同源的脚本才可以获取资源,这样确实保证了网络上的安全性,但是限制了资源之间的互相利用,比如ajax,ajax是通过url来获取数据,同样也会受到同源策略的限制。解决跨域问题的方法flash。很久之前的方法,目前基本弃用;服务器代理中转。服务器不会受到同源策略的限制。iframe+document.domain。这种方法只能针对主域名相同的子域之间。iframe+...原创 2018-07-13 13:00:48 · 196 阅读 · 0 评论 -
JS运行机制整理
js加载时间线1、创建Document对象,开始解析web页面。解析HTML元素和他们的文本内容后添加Element对象和Text节点到文档中。这个阶段document.readyState = ‘loading’。2、遇到link外部css,创建线程加载,并继续解析文档。3、遇到script外部js,并且没有设置async、defer,浏览器加载,并阻塞,等待js加载完成并执行该脚本...原创 2018-07-12 14:50:19 · 609 阅读 · 0 评论 -
原生ajax封装、ajax
AJAX(Asynchronous Javascript And XML) = 异步 JavaScript + XML 在后台与服务器进行异步数据交换,不用重载整个网页,实现局部刷新。创建 ajax 步骤:1.创建 XMLHttpRequest 对象 2.创建一个新的 HTTP 请求,并指定该 HTTP 请求的类型、验证信息 3.设置响应 HTTP 请求状态变化的回调函数 4.发送 ...原创 2018-07-03 13:04:23 · 330 阅读 · 0 评论 -
call()与apply()的作用与区别
每个函数都包含两个非继承而来的方法:apply()和call()。;call与apply都属于Function.prototype的一个方法,所以每个function实例都有call、apply属性;作用call()方法和apply()方法的作用相同:改变this指向。区别他们的区别在于接收参数的方式不同:call():第一个参数是this值没有变化,变化的是其余参数都直接...原创 2018-06-26 19:57:47 · 31574 阅读 · 1 评论 -
关于字符串拼接与文档碎片(性能优化)
想在div里面往span后面追加这个ul<body> <div id="haha"> <span></span> </div> <script> window.onload = function () { var s = '&l原创 2018-06-22 23:21:18 · 627 阅读 · 0 评论 -
Es6-解构赋值
数组的解构赋值 es6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,这被称之为解构赋值。在es5中var a = 1,b = 2, c = 3;在 es6中可以通过数组简写成:let [a,b,c] = [1,2,3];或者:let [a,[b],c] = [1,[2],3];只要按照对应的位置进行赋值,可以任意嵌套。let [head...原创 2018-05-08 00:05:27 · 247 阅读 · 0 评论 -
ES6-let与const
ES6在ES5的基础上增加了许多新功能和新用法,可以简化代码。但是目前只有一些高版本的浏览器才支持es6, 因此需要利用babel对es6进行转码。let命令和const命令let命令特点:不存在变量提升、暂时性死区(先声明后使用,否则报错)、不允许重复声明;let命令和var很类似,也是用来声明变量的,但是所声明的变量,只有在let命令所在的代码块内才有效,这也是es6最大的特点之一:增加了块级...原创 2018-05-07 22:56:09 · 169 阅读 · 0 评论 -
javascript 函数前面有加号,叹号等一元操作符是什么意思?
1. !function(){}();2. +function(){}();其实这是 立即执行函数表达式的写法,相当于(function(){}()); //推荐使用这个或者(function(){})(); 前面的+,!还可以换成其它一元操作符,也可以写成:true &amp;&amp; function (){}();0 , function(){}();在函数前...原创 2018-11-20 09:31:57 · 881 阅读 · 0 评论