86.请指出$和$.fn的区别,或者说出$.fn的用途。
Jquery为开发插件提供了两个方法,分别是:
$.extend(obj);
$.fn.extend(obj);
•1.那么这两个分别是什么意思?
$.extend(obj);是为了扩展jquery本身,为类添加新的方法。
$.fn.extend(obj);给JQUERY对象添加方法。
•2.$.fn中的fn是什么意思,其实是prototype,即$.fn=$.prototype;
具体用法请看下面的例子:
$.extend({ add:function(a, b) { return a+b; } }) $.add(5,8); // return 13
注意没有,这边的调用直接调用,前面不用任何对象。直接$.+方法名
$.fn.extend(obj);对prototype进行扩展,为jquery类添加成员函数,jquery类的实例可以使用这个成员函数。
$.fn.extend({ clickwhile:function(){ $(this).click(function(){ alert($(this).val()) }) } }) $('input').clickwhile(); // 当点击输入框会弹出该对象的Value值
注意调用时候前面是有对象的。即$('input')这么个东西。
87.请写出一个函数实现N!的计算。N取很大的值时,该怎么办?
使用循环、递归都能写出函数。
当N取值很大时,应该考虑把数值转化为字符串再进行运算。大数乘法再转化为大数加法运算,其具体算法应该有不少C语言实现,可以参考一下。
88.modulo(12,5) //2 ;问题:实现满足上述结果的modulo函数。
89."i'm a lasagna hog".split("").reverse().join("");问题:上面的语句的返回值是什么?
答案:"goh angasal a m'i";
90.(window.foo||(window.foo="bar"));问题:window.foo的值是什么?
答案:"bar"只有window.foo为假时的才是上面答案,否则就是它本身的值。
var foo="Hello";(function(){var bar="World";alert(foo+bar);})();alert(foo+bar);
91.问题:上面两个alert的结果是什么?
答案:"Hello World"和ReferenceError:bar is not defined
92.var foo=[];foo.push(1);foo.push(2);问题:foo.length的值是什么?
答案:2
有趣的问题:
91.你编写过的最酷的代码是什么?其中你最自豪的是什么?
92.在你使用过的开发工具中,最喜欢哪个?
93.你有什么业余项目吗?是哪种类型的?
94.你最爱的IE特性是什么?
数据冰冷的,但我们要让数据温暖起来,改变我们的生活!