前端JS
文章平均质量分 58
如瑜得水
这个作者很懒,什么都没留下…
展开
-
js实现触发子元素事件,而不触发父元素事件
在这之前,我们先了解一下DOM的事件对象:preventDefault() 取消事件的默认行为stopPropagation() 取消事件冒泡对当前节点无影响cancelBubble() 取消事件冒泡DOM事件处理有三个阶段:捕捉阶段(capture phase):从最上层元素,直到最下层(你点击的那个target)元素。路过的所有节点都可以捕捉到该事件。命中阶段(target phase):如果...原创 2018-04-17 13:24:21 · 14403 阅读 · 1 评论 -
Ajax的交互模型
Ajax:全称是Asynchronous JavaScript + XML的简写,是一种创建快速动态的技术。通过在后台与服务器进行少量数据交互,实现网页的异步刷新,也就是在不重新加载整个网页的情况下,做到网页的部分刷新。它的核心技术是:XMLHttpRequest(XHR)。这是一个为了向服务器发送请求和解析服务器响应提供了流畅的接口。XHR以异步的方式从服务器取得更多信息Ajax 的交互模型(A...原创 2018-06-23 18:15:56 · 4077 阅读 · 1 评论 -
js对象的深度克隆代码实现
function clone(obj){ var buf; if(obj instanceof Array){ buf = []; //创建一个空数组 var i = obj.length; while(i--){ buf[i] = clone(obj[i]); } return buf; } else if(obj instanceof Object){ buf = {}; f...原创 2018-06-23 16:19:18 · 1844 阅读 · 1 评论 -
对于网站重构的理解
网站重构: 在不改变外部行为的前提下,简化结构、添加可读性,而在网站前端保持一致的行为。也就是说是在不改变 UI 的情况下,对网站进行优化,在扩展的同时保持一致的 UI。对于传统的网站来说重构通常是:1. 表格(table)布局改为 DIV + CSS2. 使网站前端兼容于现代浏览器(针对于不合规范的 CSS、如对 IE6 有效的) 3. 对于移动平台的优化4. 针对于 SEO 进...原创 2018-06-23 16:00:27 · 1789 阅读 · 0 评论 -
如何获取UA?
function whatBrowser() {//获取完整的浏览器名称document.Browser.Name.value=navigator.appName; //获取浏览器的版本,一般不与实际的浏览器版本对应document.Browser.Version.value=navigator.appVersion; //获取浏览器的名称。通常都是Mozilla,即使在非Mozilla的浏览器中...原创 2018-06-23 15:54:41 · 3040 阅读 · 0 评论 -
js数组去重
//js 数组去重Array.prototype.uniq = function(){ //若长度只有1,直接返回当前拷贝 if(this.length <= 1){ return this.slice(0); } var aResult = []; for(var i=0,l=this.length; i<l; i++){ if(!_fExist(aResult,...原创 2018-06-23 15:38:12 · 135 阅读 · 0 评论 -
写一个 traverse 函数,输出所有页面宽度和高度大于 50 像素的节点
function traverse(){ var arr = []; var elements = []; if(document.all){ elements = doucment.all; }else{ elements = document.getElementsByTagName("*"); } for(var i=0;i<elements.length;i++)...原创 2018-06-21 17:36:37 · 1298 阅读 · 0 评论 -
js中“===”和“==”的区别及怎么用
程序中所有等于判断都要用“===”!!!除了下面这种情况!!!obj.c == null 当等于null的时候,一并是用“==”的。原创 2018-04-30 18:34:36 · 179 阅读 · 0 评论 -
js表格排序/百度前端笔试题
2018百度春招前端笔试编程题,熟悉下table, 应该是很容易做出来的。题目:JS代码: var table = document.getElementById("tb"); var table_th = document.getElementsByTagName("th"); var table_tbody = document.getElementById("jsLis...原创 2018-04-19 14:02:23 · 393 阅读 · 0 评论 -
js 垃圾回收机制的两种方法
这是在前端面试中经常被闻到的题目。Javascript具有自动垃圾回收机制(GC:Garbage Collecation)。原理:垃圾收集器会定期(周期性)找出那些不在继续使用的变量,然后释放其内存。(1)标记清除法 在函数声明一个变量的时候,就将这个变量标记为“进入环境”。从逻辑上讲,永远都不能释放进入环境的变量作占用的内存,因为只要执行流进入相应的环境,就可能会用到它们。而当变量离开环境...原创 2018-04-17 14:04:23 · 7889 阅读 · 0 评论 -
6种解决跨域问题方法
1、使用document.domain 解决跨子域问题 具体来说,就是把document.domain设置为相同的值2、使用window.name + iframe 具体可以参考:小白变怪兽的《跨域解决方法之window.name》3、使用flash 具体可以参考:vinceding的《flash跨域访问问题》4、使用iframe + location.hash 具体可以参考...原创 2018-06-23 19:34:53 · 412 阅读 · 0 评论