IBM简单提问。。。捂脸哭。。神马都不记得了。。。

刚刚接到IBM电话,我都快忘了我投了什么职位,瞎蒙了一个前端,还真是哎。。blueMix的前端。。汗!完全聊不下去,呜呜呜T^T!

1.阻止冒泡

if (window.event) {//IE  e.cancelBubble=true; } else { //FF  e.stopPropagation(); }

2.异步编程

setTimeout 和 setInterval

在记住一个promise对象:

Promises对象是CommonJS工作组提出的一种规范,目的是为异步编程提供统一接口

简单说,它的思想是,每一个异步任务返回一个Promise对象,该对象有一个then方法,允许指定回调函数。比如,f1的回调函数f2,可以写成:

f1().then(f2);

function f1(){

 var dfd = $.Deferred();

 setTimeout(function () {

 // f1的任务代码

 dfd.resolve();

 }, 500);

 return dfd.promise;

 }

这样写的优点在于,回调函数变成了链式写法,程序的流程可以看得很清楚,而且有一整套的配套方法,可以实现许多强大的功能。

3.用过什么框架

4.事件发生机制

事件从根节点开始,逐级派送到子节点,若节点绑定了事件动作,则执行动作,然后继续走,这个阶段称为“捕获阶段(Capture)”;
执行完捕获阶段后,事件由子节点往根节点派送,若节点绑定了事件动作,则执行动作,然后继续走,这个阶段称为“冒泡阶段(Bubble)”。

function addEventListener(eventFlag, eventFunc, [bool useCapture=false])
 eventFlag : 事件名称,如click、mouseover…
 eventFunc: 绑定到事件中执行的动作
 useCapture: 指定是否绑定在捕获阶段,true为是,false为否,默认为true
 在事件监听流中可以使用event.stopPropagation()来阻止事件继续往下流

IE中使用自有的attachEvent函数绑定时间,函数定义如下:
 function attachEvent(eventFlag,eventFunc)
 eventFlag: 事件名称,但要加上on,如onclick、onmouseover…
 eventFunc: 绑定到事件中执行的动作
 在事件监听流中可以使用window.event.cacenlBubble=false来阻止事件继续往下流

总结:addEventListener(string eventFlag, function eventFunc, [bool useCapture=false]),针对ff,chrome,safari浏览器,false指冒泡阶段,默认为true,指捕获阶段。不过一般我们都用false。

attachEvent(string eventFlag, function eventFunc),针对ie系列、还有opera浏览器,少了事件处理机制的参数,只指定事件类型(别忘了on)和触发哪个函数。

有了这些认知之后,有了大致的思路,对应的代码:

if(document.addEventListener){

document.addEventListener(‘click‘, hideBox, false);

在document绑定信息框(竖的那个)隐藏函数(即随便点html页面的哪里关闭展开的信息框,这也是使用document.addEventListener的原因,要帮在文档上)

document.getElementById(‘status_hide‘).addEventListener(‘click‘, showBox, false);

在status_hide节点绑定信息框展开(详细的那个)函数并停止事件流(即点击竖的这个,展开详细的那个)

document.getElementById(‘status_show‘).addEventListener(‘click‘, stopEvent, false);

因为false确定的是事件冒泡,为了防止点详情的时候,向上冒泡到document,触发document设置的click时hidebox方法,在status_show我们要绑定阻止事件流函数。

}

这个明白了,针对ie再写个attachEvent的就可以了,当然ie的参数只用2个就可以了,它的时间处理机制就是冒泡不用额外设置。

最后要说说这段函数。

var stopEvent = function(event){ e = event || window.event; if(e.stopPropagation){ e.stopPropagation(); }else { e.cancelBubble = true; } };

可以确定它的作用是防止前面提到的冒泡,引发不该引发的click事件。

可是它呢function(event){e = event || window.event}

注: 事件捕获

只有IE下才兼容的:

oBtn.setCapture();  //捕获

oDiv.releaseCapture();  //释放捕获

英语: What‘s your hobby ?

后记: 泥煤,果然,一不复习,就渣成这幅鬼样了!!!

时间: 2025-01-31 09:07:24

IBM简单提问。。。捂脸哭。。神马都不记得了。。。的相关文章

神马都是浮云,unity中自己写Coroutine协程源代码

孙广东   2014.7.19 无意之间看到了,Unity维基上的一篇文章,  是关于自己写协程的介绍. 认为非常好,这样能更好的了解到协程的执行机制等特性.还是不错的. 原文链接地址例如以下: http://wiki.unity3d.com/index.php?title=CoroutineScheduler 项目地址:  http://download.csdn.net/detail/u010019717/8912069 详细的内容例如以下:        一个简单的协同调度程序. 这个协同

神马是代码简单的cmd模式,这就是!

小狼正在研究 “怎么查找连在一起的同色方块?”算法问题 ,突然感觉我是不是需要一种开发模式,不然感觉自己的代码好乱的. 可能是研究算法吧,导致小狼的思路特别清晰,加上也用了差不多1年的nodejs.seajs,对cmd的api非常清楚,不多说,看代码 用法和seajs的用法一样,符合cmd的模式, var require,define; (function(){ var module={} require=function(name){ return module[name] } define=

51CTO 神马叫自动化运维

51CTO 神马叫自动化运维 http://www.cnblogs.com/lyhabc/diary/2014/12/18/4171160.html http://3060674.blog.51cto.com/3050674/1590803 好久没写文章了,最近要来刷下存在感,近两年,运维自动化被炒的火的不行,行业趋势不可挡,现在企业招运维工程师都要求会一门开发语言.我们公司也不例外,由于刚上市,一下子有钱了,开始招兵买马瞎折腾,因此最近我也面试了不下十来个求职者,本成想可以很容易招到几个不错的

课程14:get和post是神马

http://www.codeschool.cn/lesson/14.html get和post是神马? get和post是http中两种最常用到的请求类型 简单理解get请求 get请求多用于获取信息(无修改操作) 1. 常用于页面整体刷新 比如:浏览器现在是百度的首页www.baidu.com,点击 贴吧 后整体刷新到贴吧的页面tieba.baidu.com,整个浏览器页面都重新刷新了 2. 参数都在url中,常用于页面整体跳转 比如:http://tieba.baidu.com/f?kw=

【iOS开发每日小笔记(五)】实测copy到底是个神马玩意

这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.该分类的文章,内容涉及的知识点可能是很简单的.或是用很短代码片段就能实现的,但在我看来它们可能会给用户体验.代码效率得到一些提升,或是之前自己没有接触过的技术,很开心的学到了,放在这里得瑟一下.其实,90%的作用是帮助自己回顾.记忆.复习.如果看官觉得太easy,太碎片,则可以有两个选择:1,移步[iOS探究]分类,对那里的文章进行斧正:2,在本文的评论

4G+又是神马鬼?和LTE-A有什么关系?

4G+又是神马鬼?和LTE-A有什么关系? 先说LTE 和LTE-A LTE全称long-term-evolution这个名字听怎么听怎么觉得有些仓促,它又称为3.9G,其上行峰值速率和最大带宽略低于4G标准,真正将网络带入4G的是LTE-Advanced,即LTE-A. LTE-A是一个LTE演进的代称,它满足ITU-R 的IMT-Advanced技术征集的需求,不仅是3GPP形成欧洲IMT-Advanced技术提案的一个重要来源,还是一个后向兼容的技术,完全兼容LTE,是演进而不是革命.它的

SQLSERVER 里经常看到的CACHE STORES是神马东东?

SQLSERVER 里经常看到的CACHE STORES是神马东东? 当我们在SSMS里执行下面的SQL语句清空SQLSERVER的缓存的时候,我们会在SQL ERRORLOG里看到一些信息 DBCC FREEPROCCACHE 大家可以看到cachestore.object plans.sql plan.bound tress等名词 cachestore flush for the 'Object Plans' cachestore (part of plan cache) cachestor

从神马搜索到阿里上市 马云到底想要干什么?

笔者注:不疯魔不成活,这句话往往形容那些处事怪异,最后却走向成功的人.而就目前来看全球绝大多数成功的名流,都属于这种偏执型的人.乔布斯.扎克伯格.马云等,莫不如此.而近来,在国内互联网领域,最引人注意的无疑就是马云及阿里巴巴.虽然马云已经在明面上隐居幕后,但在阿里巴巴上市的关键时刻,他依然为阿里定下了"增肥"的路子. 事实上,阿里巴巴"增肥"的路子早就已经可以看出端倪.在上市消息传出以前,投资新浪微博.收购高德.战略投资UC.在移动端布局"来往"

他们到底需要神马???——戏说“用户需求”

用户需求,做产品的都在乎这个,毕竟,产品做出来是给用户用的,用户为什么要用这个产品?这是产品经理最关心的事情之一.在研发产品前,市场调研,用户需求分析,竞争对手分析大家一定没少做,但是,很多产品为什么做出来,跟之前想象的美好前景不太一样?而有些根本都不屑一顾的产品,用户还怎么就趋之若鹜了捏? 这就是用户需求的高深之处,用户需求是个神马玩意儿?这说也说不清的东西确实是雾里看花,入门很简单,就是满足用户的某方面需求,但你若想真真切切明明白白滴看懂它,不简单呐. 相信网上盛传的那个小故事大家都看过:操