
javascript
很小白的小白
励志成为前端架构师。
展开
-
跨域:demo百度联想词
jsonp原理:1.Web页面上用<script> 引入 js文件时则不受是否跨域的影响 (不仅如此,我们还发现凡是拥有"src"这个属性的标签都拥有跨域的能力,比如<script>、<img>、<iframe>)2.于是我们把数据放到服务器上,并且数据为json形式(因为js可以轻松处理json数据)3.因为我们无法监控通过<sc...原创 2018-07-28 20:43:05 · 366 阅读 · 0 评论 -
JavaScript原生API小结
Array对象:属性:arr.length // 数组长度Array.isArray(arr) //用来判断一个值是否为数组Array实例方法 :var a=[]a.valueof() //返回数组本身a.toString() //返回数组的字符串形式(有逗号)a.push(value,vlaue....) //用于在数组的末端添加一个或多个元素,...原创 2018-12-14 14:05:07 · 669 阅读 · 0 评论 -
冒泡和捕获小结
通常我们只考虑一个dom绑定一种事件类型。(碰到一个问题。一个dom分别绑定了冒泡和捕获类型的事件)在一个dom元素同时绑定冒泡和捕获的该怎么处理。我们来看一下的问题。下面事件的触发顺序是如何的<body> <div class="warpper"> <div class="context">点我</div> ...原创 2018-10-20 12:33:29 · 207 阅读 · 0 评论 -
数组方法的小总结
数组方法中传入函数,比如Array.prototype.reduce(function(prov,cur,curindex,arr){},init);下面是自定义的reduce(根据现在方法思路)Array.prototype.myreduce = function (fn, init) {var prve = init;var len = this.length;var...原创 2018-06-24 14:37:13 · 159 阅读 · 0 评论 -
数组之一维数组升多维
应用:数组升维能够实现某一些操作简单化。比如手机一屏展示的app数目。多了就会到下一屏。。。以一维数组升维为三维数组为例:把数组arr的第一位变成一个空数组(目的是能使用数组的属性)const arr=[];arr[0]=[];arr[1]=[];arr[0].push(0,1,2)arr[1].push(3,4,5)以上就实现了数组的升为。以下来封装arr数组升维的方法...原创 2018-10-08 14:36:02 · 1528 阅读 · 0 评论 -
null和undefined的纠葛
null是一个表示 “无”的对象,转化为数值为0;undefined是一个表示“无”的原始值,转化为数值时候为NaN当申明变量还未被初始化时,变量的默认值为undefinednull用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。undefined表示缺少值,就是应该有这个值,但是还没定义。典型用法:undefined变量被声明但是没有赋值。这时候就等于...原创 2018-09-25 17:28:19 · 231 阅读 · 0 评论 -
你不知道的js封装call和apply
call和apply的实质在于去借用别人的方法和属性(本身没有)。回顾call: foo.call(obj) 可以理解为 obj借用了foo这个函数。var name = 'window'var obj = { name: 'obj'}function foo() { console.log(this.name)}foo() //空执行。相当于window...原创 2018-09-14 13:54:40 · 714 阅读 · 0 评论 -
js克隆小结
克隆分为浅克隆和深度克隆:对于原始值而言,直接复制是对值的复制。而对引用值的拷贝是地址的拷贝,这与他们的数据结构有关。原始值直接存放在栈内存中(房间里有的东西),而且对于引用值,栈内存中存的是地址(内部数据的地址,相当于门的钥匙)当我们引用值拷贝的时候,就是多配了一把钥匙给另外一个变量。(两个变量都可以改变房间里的数据)上面说到,浅拷贝只能拷贝引用值的地址,这不是我们想要的。我们需...原创 2018-09-06 16:16:25 · 232 阅读 · 0 评论 -
ajax获取图片数据,实现瀑布流小功能
整体思路:关键点:ajax获取数据,通过数据创建dom结构。获取后台图片数据:开启本地服务器Wampserver(已经配置好的)。前端用ajax获取获取图片数据 动态创建DOM结构,然后插入HTML。 需要通过冒泡排序来比对每一个li(图片都放在li里)的高度,以保证每张图能够一次插入最短的li当中; 最后需要实现对scroll事件的监听,当用户浏览至底部时,我们需要加载新的一页的数...原创 2018-08-04 23:25:11 · 1267 阅读 · 0 评论 -
JavaScript中Window跟window的区别
小题感悟:var length = 10;function fn() { console.log(this) console.log(this.length); }var obj = { length:5, method:function(fn){ fn(); arguments[0](); }};ob...转载 2018-08-04 15:25:11 · 1645 阅读 · 0 评论 -
cookie
什么是cookie:本身用于客户端和服务端通信。但是他有本地存储的功能,所以被“借用”cookie是由服务器端生成,发送给User-Agent(一般是浏览器),(服务器告诉浏览器设置一下cookie),浏览器会将cookie以keyalue保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。cookie就是一个小型文件(浏览器...原创 2018-07-30 16:42:04 · 198 阅读 · 0 评论 -
iframe巧妙跨域(如今已经不用了)
iframe:iframe是一个标签dom元素(<iframe src="" frameborder="0"></iframe>),内联框架作用:可以一个网页里嵌入另一个网页(具有父子关系)用法:导航栏tab切换页(古老的做法)、在线编辑器、广告植入,历史记录管理,解决ajax化网站响应浏览器前进后退按钮的方案,跨域通信等iframe的利弊:iframe...原创 2018-07-30 15:53:54 · 5920 阅读 · 0 评论 -
object.freeze()之冻结对象小结
Object.freeze() 具有冻结一个对象的功能:冻结的对象属性不能修改,不能添加属性(类似 const 一个原始值) ,但是还是阔以借用他的方法。(我们还可以冻结数组)let num = 1;let obj = { foo() { num++; }, bar() { return num; }};Object.freeze(obj);obj...原创 2018-12-16 14:23:26 · 1811 阅读 · 0 评论