你对javascript熟悉吗?一道趣味题看你熟悉不熟悉
这是一道涵盖了初级、高级javascript
的趣味
题目,如果你在不运行程序
的条件下能正确回答下面的函数
调用的结果,那么你对javascript的理解应该比较到位了,至少我(http://www.attjs.com
站长)是这样认为的。
主要涉及javascript面向对象特性、重载、覆盖、作用域、函数特性、还有一个相对与C/C++
java特有的一个特性、优先级等JS技术
记住哦,最好不要运行代码
哦。
自评:
不运行代码而能搞定所用问题者,说明你对javascript的运行机制有深刻的理解。
如果运行了代码才能搞定问题者,说明你对你技术还持有怀疑态度,至少说明你在某些技术层面还存在问题。
如果运行了代码还不能正确回答问题着,说明你对javascript的理解还没有完全到位。
请大家注册
一个号,在下面写下你们的答案,我会为你们判断答案,不要仅写个答案,最好写出理由
。
大家可以互相参考下回帖,最终得出个正确的答案。
我相信通过此题目,大家的javascript水平或多或少都可以提高一些。
1. <mce:script type="text/javascript"><!--
2. var attjs=function(){
3. attjs.abc=function(){alert("1");};
4. attjs.prototype.abc=function(){alert("2");};
5. this.abc=function(){alert("3")};
6. function abc(){
7. alert("4");
8. }
9. var abc=function(){alert("5")};
10. }
11. attjs.abc=function(){alert("6");};
12. attjs.prototype.abc=function(){alert("7");};
13. function abc(){
14. alert("9");
15. }
16. var oAttjs=new attjs();
17. attjs.prototype.abc=function(){alert("11");};
18. //问题1
19. oAttjs.abc();
20. oAttjs.abc=function(){alert("10");};
21. //问题2
22. oAttjs.abc();
23. //问题3
24. attjs.abc();
25. attjs.abc=function(){alert("66");};
26. //问题4
27. attjs.abc();
28. //问题5
29. abc();
30. function abc(a){
31. alert("14");
32. }
33. function abc(a,b){alert("15")}
34. //问题6
35. abc("");
36. //问题7
37. abc("","");
38. var abc=function(){alert("12"
相关文档:
正则表达式
RegExp(regexp, option)类实现,可以简写成/regexp/option
option:
g: global, i: ignore case
方法:string.test(regexp),
string.exec(regexp)[返回所有匹配的地方], string.serch(regexp)[正则版的indexOf()],
string.replace(regexp, str|funtion), string.split(regexp)
简单模式
元字符:( [ {
......
在javascript代码中用encodeURIComponent()函数处理中文字符串,
JS代码:
<mce:script type=”text/javascript”><!--
string = encodeURIComponent(string);
location.href = index.php?keyword=’+string;
// --></mce:script>
PHP代码:
<?php
$keyword = (isset($_GET ......
注册很长时间号了,刚开通博客,拿出一个自己写的javascript右键菜单,兼容IE,firefox浏览器
这是css代码
body{
font-size:12px;
}
.contextMenu{
filter:alpha(opacity=80);
opacity:0.8;
border:1px #0033FF solid;
background-color:#0099CC;
cursor:pointer;
width:120px;
position:absolute;
top: ......
要想写出跨浏览器的javascript,就必须懂得嗅探技术。这是浏览器大战遗留下的大地雷,事已如此,只好认命,乖乖写分支结构吧,函数就是这样不知不觉中变长的。
先看单一浏览器的判断,我们没有必须去找navigator.userAgent的麻烦,我在国外的博客网站收集了如下hack,短小精悍:
ie = !+"\v1" ;
ie ='\v'=='v' ; ......
父窗口中有三种方式打开子窗口:
1:
window.open(URL,windowName,parameters);
2:
alert(""); //弹出信息提示对话框
confirm(""); //弹出信息确认对话框
prompt(""); //具有交互性质的对话框
3:
//创建模态你对话框
window.showModalDialog(sURL,vArguments,sFeatures)
//创建非模态对话框
window.showM ......