【前端】牛客练题积累——JavaScript

JavaScript方面:html

jquery事件响应:onfocus 得到焦点 onblur 失去焦点jquery

 

Flash提供了ExternalInterface接口与JavaScript通讯
两个方法:call和addCallback
做用:call让Flash调用js里的方法,addCallback是用来注册flash函数让js调用。

 

js跨域问题:只要 协议 、 域名 、 端口 有任何一个 不一样, 都被看成是不一样的域。编程

 

call和apply:跨域

相同点:两个方法产生的 做用是彻底同样的数组

不一样点:方法传递的参数不一样浏览器

call, apply方法它们除了第一个参数,即执行时上下文对象相同外,call方法的其它参数将依次传递给借用的方法做参数,而apply就两个参数,第二个参数为一个数组传递。app

 

转换为false的值:false、“”(空字符串)、0和NAN、null、undefined异步

 

window.open(URL,name,features,replace) 默认打开一个新的窗口异步编程

 

JS禁用:Readonly只针对input(text/password)和textarea有效,而disabled对于全部的表单元素有效,包括select,radio,checkbox,button等。函数

setAttribute() 方法添加指定的属性,并为其赋指定的值。element.setAttribute(attributename,attributevalue)

 

在准备XMLHttpRequest对象时,在send()前须要调用open()

参考:Ajax XMLHttpRequest对象的三个属性以及open和send方法

 

Object.keys(object)的返回值是 一个数组,其中包含对象的可枚举属性和方法的名称。

Array.filter(function)对数组进行过滤返回符合条件的数组。

 

Ajax的优点:1.可搜索性 2.开放性 3.费用 4.易用性 5.易于开发。
Flash的优点:1.多媒体处理 2.兼容性 3.矢量图形 4.客户端资源调度
Ajax的劣势:1.它可能破坏浏览器的后退功能   2.使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中 ,不过这些都有相关方法解决。
Flash的劣势:1.二进制格式 2.格式私有 3.flash 文件常常会很大,用户第一次使用的时候须要忍耐较长的等待时间  4.性能问题

 

setTimeout(code,millisec)方法用于在指定的毫秒数后调用函数或计算表达式。code是fun()时函数会当即执行。seTimeout(fun,1000)

setTimeout() 只执行 code 一次。若是要屡次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。

 

在 JS 里,声明函数只有 2 种方法:
第 1 种: function foo(){...} (函数声明)
第 2 种: var foo = function(){...} (等号后面必须是匿名函数,这句实质是函数表达式)

除此以外,相似于 var foo = function bar(){...} 这样的东西统一按 2 方法处理,即在函数外部没法经过 bar 访问到函数,由于这已经变成了一个表达式。

 

Math.ceil()执行向上舍入,即它老是将数值向上舍入为最接近的整数;
Math.floor()执行向下舍入,即它老是将数值向下舍入为最接近的整数;
Math.round()执行标准舍入,即它老是将数值四舍五入为最接近的整数(这也是咱们在数学课上学到的舍入规则)。

 

Math.max()求参数中的最大值,若是没有参数,则返回 -Infinity。若是有某个参数为 NaN,或是不能转换成数字的非数字值,则返回 NaN。

 

多人开发函数重名问题:

首先是经过命名规范,好比根据不一样的开发人员实现的功能,在函数名加前缀,虽然函数名看起来复杂,发布的时候仍是能够替换,从而优化。
还有一种办法是,每一个开发人员都把本身的函数封装到类中,而后调用的时候即便函数名相同,可是由于是要类.函数名来调用,因此也减小了重复的可能性。

 

jQuery:

siblings() 方法返回被选元素的全部同胞元素。

next() 方法返回被选元素的下一个同胞元素。

 find() 方法返回被选元素的后代元素,一路向下直到最后一个后代。

 

JavaScript内部对象:

Navigator:提供有关浏览器的信息

Window:Window对象处于对象层次的最顶层,它提供了处理Navagator窗口的方法和属性

Location:提供了与当前打开的URL一块儿工做的方法和属性,是一个静态的对象

History:提供了与历史清单有关的信息

Document:包含与文档元素一块儿工做的对象,它将这些元素封装起来供编程人员使用

 

JavaScript异步编程的四种方法:
回调函数,这是异步编程最基本的方法。
事件监听,另外一种思路是采用事件驱动模式。任务的执行不取决于代码的顺序,而取决于某个事件是否发生。
发布/订阅,上一节的"事件",彻底能够理解成"信号"。
Promises对象,Promises 对象是CommonJS 工做组提出的一种规范,目的是为异步编程提供统一接口。

 

JavaScript Array 对象方法

方法 描述
concat() 链接两个或更多的数组,并返回结果。
join() 把数组的全部元素放入一个字符串。元素经过指定的分隔符进行分隔。
pop() 删除并返回数组的最后一个元素
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
reverse() 颠倒数组中元素的顺序。
shift() 删除并返回数组的第一个元素
slice() 从某个已有的数组返回选定的元素
sort() 对数组的元素进行排序
splice() 删除元素,并向数组添加新元素。
toSource() 返回该对象的源代码。
toString() 把数组转换为字符串,并返回结果。
toLocaleString() 把数组转换为本地数组,并返回结果。
unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
valueOf() 返回数组对象的原始值
相关文章
相关标签/搜索