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

JavaScript方面:

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

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

js跨域问题:只要 协议 、 域名 、 端口 有任何一个 不同, 都被当作是不同的域。

call和apply:

相同点:两个方法产生的 作用是完全一样的

不同点:方法传递的参数不同

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

转换为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() 返回数组对象的原始值

 

原文地址:https://www.cnblogs.com/lww930/p/5817012.html