首页 新闻 会员 周边

淘宝网Javascript面试题,大家的答案是什么?

0
悬赏园豆:20 [已解决问题] 解决于 2012-04-16 16:07

1. js是什么,js和html 的开发如何结合?
2. 怎样添加、移除、移动、复制、创建和查找节点
3. 怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别
4. 面向对象编程:b怎么继承a
5. 看看下面alert的结果是什么

function b(x, y, a) {
arguments[2] = 10;
alert(a);
}
b(1, 2, 3);

如果函数体改成下面,结果又会是什么?

a = 10;
alert(arguments[2] );

6. 请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象

var obj = parseQueryString(url);
alert(obj.key0) // 输出0

7. ajax是什么?   ajax的交互模型? 同步和异步的区别? 如何解决跨域问题?
8. 什么是闭包?下面这个ul,如何点击每一列的时候alert其index?

<ul id=”test”>
<li>这是第一条</li><li>这是第二条</li><li>这是第三条</li>
</ul>

9. 最近看的一篇Javascript的文章是?
10. 常使用的库有哪些?常用的前端开发工具?开发过什么应用或组件?
11.说说YSlow(可以详细一点)

草根程序猿的主页 草根程序猿 | 初学一级 | 园豆:129
提问于:2012-03-29 09:33
< >
分享
最佳答案
0

1 js是一门解释型的脚本编程语言,主要应用于web。通过DOM把html分析为节点来进行相应的结合开发。

2 appendChild来添加节点,cloneNode复制节点,removeChild删除节点,createElement创建元素,getElementById、getElementsByTagName、getElementsByName查找节点。

3 可以在html中添加如<p onclick="xx()"></p>,或者绑定事件如a.onclick = function(){}。

4 function a(){}, var b =  a;

5 10 因为参数在js中只是一组类似数组的东西,而arguments[2]是用于传参数的一个方法,那么a就等于10.

 还是10.

6

function parseQueryString(url) {
var pos;
var obj = {};
if (pos = url.indexOf("?") != -1) {
var urlstring = url.substring(pos + 1, url.lenght - 1);
var urlArr = urlstring.split("&");
var keyValue = [];
for (var i = 0; i < urlArr.lenght; i++) {
keyValue = urlArr[i].split("=");
obj[keyValue[0]] = keyValue[1];
}
}
return obj;
}
var objUrl = parseQueryString(url);

7异步刷新技术 这个同步和异步的区别,我忘记了。交互模型是啥意思?基本的一个XmlHttp对象?然后open()?跨域的问题到现在为止,我还没遇上过

8有权访问另一个函数作用域中的函数。

function a() {
var ul = document.getElementById("test");
var li = ul.getElementsByTagName("li");
for (var i = 0; i < li.length; i++) {
li[i].onclick = function () {
alert(this.innerHTML);
}
}
}
window.onload = a;

9博客园 汤姆大叔 的深入理解javascript系列。

10常用jquery 用Web Developer 2010 Express 或者VS2008,没开发过什么大型的应用,一般是在jquery的基础上进行开发,比如装扮、广告效果、ajax动态加载消息、弹出层等等。

11雅虎开发的一个基于firebug的一个插件,主要是来进行网站性能分析的,不过,很遗憾,到现在为止,我还没有使用过,勉勉强强工作一年了。


收获园豆:20
icepy | 小虾三级 |园豆:587 | 2012-03-29 12:31

第8题代码错误

zhukaibokeyuan | 园豆:202 (菜鸟二级) | 2012-04-25 11:28

@zhukaibokeyuan: 嗯,还真是啊

草根程序猿 | 园豆:129 (初学一级) | 2012-04-25 11:37

@zhukaibokeyuan: 上次看错了,以为是写innerHTML,老兄指正出了,谢谢啊。

闭包的,我补下面了:

function a() {
            var ul = document.getElementById("test");
            var li = ul.getElementsByTagName("li");
            for (var i = 0; i < li.length; i++) {
                (function (_i) {
                    li[_i].onclick = function () {
                        alert(_i);
                    }
                })(i);
            }
        }
icepy | 园豆:587 (小虾三级) | 2012-04-25 15:12

请问第四题那样写属于面向对象编程思想么。。。。

蔷薇蔓蔓 | 园豆:197 (初学一级) | 2016-06-08 16:20
其他回答(2)
0

第8题错误!

var add_handler = function() {
var ul = document.getElementById("test");
var li = ul.getElementsByTagName("li");
for (var i = 0; i < li.length; i++) {
li[i].onclick = function (i) {
alert(i);
}(i);
}
}
window.onload = add_handler;

zhukaibokeyuan | 园豆:202 (菜鸟二级) | 2012-04-25 11:27
0

var add_handler = function() {
var ul = document.getElementById("test");
var li = ul.getElementsByTagName("li");
for (var i = 0; i < li.length; i++) {
li[i]. />   return function(){alert(i);}; //这样才对吧,点击的时候,才弹窗
}(i);
}
}
window.>

D_QQ | 园豆:202 (菜鸟二级) | 2015-05-12 11:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册