JavaScript
Alex_717
假如有成功的一天,努力让这一天早点到来
展开
-
Js 阻止事件冒泡和默认行为
为了兼容ie,下面将阻止事件冒泡和默认行为封装成函数1、阻止事件冒泡 // 阻止冒泡 function stopBubble(e){ var e = window.e || e; if( e.stopPropagation ){ e.stopPropagation(); ...原创 2018-10-11 16:38:56 · 167 阅读 · 0 评论 -
Js 对象的浅拷贝和深拷贝
一、以下的方式并不算浅拷贝 var obj = { name: '张三', arr: [1,2,3] } function copy(obj){ var Obj = obj; return Obj; } var obj1 = copy( obj ); obj1.name = '...原创 2018-10-10 16:52:34 · 303 阅读 · 0 评论 -
Js 数组去重
一、利用数组的splice方法 var array = [1, 2, 3, 4, 5, 6, 1, '1']; function unique(arr) { for (var i = 0; i < arr.length - 1; i++) { for (var j = i + 1; j < ...原创 2018-10-10 15:37:50 · 140 阅读 · 0 评论 -
call、apply与bind的异同
相同点:1、这三个方法都是用来改变函数内this的指向。2、都可以接收参数。3、第一参数都是this要指向的对象。 不同点: function Parent(name, arr){ this.name = name; this.arr = arr; } function Child(name, arr){ ...原创 2018-10-13 10:05:10 · 277 阅读 · 0 评论 -
cookie与Webstorage的区别
WebStorage分为 localStorage 和 sessionStorage。Cookie数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB。另外还有安全性问题,如果cookie被人拦截了,那么别人就可以取得所有的session信息。 cookie与Webstorage的区别:1、存储大小不同 cookie的大小...原创 2018-10-12 17:25:33 · 2405 阅读 · 0 评论 -
Js 创建对象的方式
1、字面量形式 {}2、new Object()3、new Fn() // new 一个构造函数4、Object.create() //Object.create(prototype, descriptors) 参考:https://msdn.microsoft.com/zh-cn/library/ff925952(v=vs.94).aspx...原创 2018-10-12 17:08:34 · 159 阅读 · 0 评论 -
use strict是什么及其优缺点
'use strict' :“严格模式”。就是Js代码运行时,自动地实现更严格的解析和错误处理方法。 优点:消除js代码中不严谨、不合理的地方;提高代码的质量,保证代码更安全地运行;压缩时,js文件体积会更小。缺点:现在网站的 JS 都会进行压缩,一些文件用了严格模式,而另一些没有。这时这些本来是严格模式的文件,被 merge 后,这个串就到了文件的中间,不仅没有指示严格模式,反而在压...原创 2018-10-12 16:38:10 · 1016 阅读 · 0 评论 -
Js onload()和ready()区别
1、onload()window.onload = function(){}执行时机:等待页面中的所有资源(包括图片、视频等资源)都加载完成后,才会执行。而且在js中文件中只有一个onload事件。2、ready()$(document).ready(function(){})或者简写成$(function(){}) 执行时机:等待页面Dom树加载完成后...原创 2018-10-12 16:15:50 · 10199 阅读 · 0 评论 -
Js延迟加载的方法
为什么要js延迟加载?js延迟加载,就是等页面加载完成后,再加载js文件。这样有利于提高页面的加载速度。提高用户体验。 Js延迟加载有以下的几种方法:1、利用defer属性<script type="text/javascript" src='index.js' defer='defer'></script>作用:js脚本会立即下载,但要在页面加载...原创 2018-10-12 15:52:22 · 513 阅读 · 0 评论 -
new操作符做了什么操作
1、创建一个空对象obj2、设置原型链。 让obj的__proto__属性,指向函数的原型3、让函数中的this指向obj。并且执行函数体 Function.call(obj);4、判断函数返回值的内容 如果返回的是对象,此时就不做操作了。直到最后将该对象赋值给一个变量。 如果返回的是一个值,此时返回obj。然后直到最后的赋值操作...原创 2018-10-12 15:31:00 · 1873 阅读 · 0 评论 -
Js原生与jQuery的Dom操作
一、创建节点1、原生js创建元素节点document.createElement('div');2、jquery创建元素节点$('<div></div>');二、创建、添加文本节点1、原生js创建文本节点,然后添加到元素节点中var txt = document.createTextNode('文本');var el = documen...原创 2018-10-12 15:17:55 · 262 阅读 · 0 评论 -
Js 判断是否为数组
判断类型,一般情况下,首先想到的是typeof,但是对于数组,typeof得到的结果是object var arr = []; console.log( typeof arr ); // object这样是无法准确判断是不是数组。下面使用两种方法进行判断1、instanceof var arr = []; console.log( arr insta...原创 2018-10-12 12:10:45 · 197 阅读 · 0 评论