JavaScript基础知识

时间:2011-5-20     作者:smarteng     分类: WEB相关


1 创建脚本块

1<script language=”JavaScript”>
2      JavaScript code goes here
3</script> 



2 隐藏脚本代码

1<script language=”JavaScript”>

2<!--

3      document.write(“Hello”);

4// -->

5</script> 

在不支持JavaScript的浏览器中将不执行相关代码



3 浏览器不支持的时候显示
1<noscript>

2    Hello to the non-JavaScript browser.

3</noscript> 



4 链接外部脚本文件

1<script language=”JavaScript” src="/”filename.js"></script> 



5 注释脚本

1
2// This is a comment
3document.write(“Hello”); // This is a comment
4/*
5      All of this  is a comment
7*/
 



6 输出到浏览器 

1document.write(“<strong>Hello</strong>”);



7 定义变量

1var myVariable = “some value”; 



8 字符串相加 

1var myString = “String1” + “String2”; 



9 字符串搜索

1<script language=”JavaScript”>
2<!--
3     var myVariable = “Hello there”;
4     var therePlace = myVariable.search(“there”);
5    document.write(therePlace);
6// -->
7</script> 



10 字符串替换 

thisVar.replace(“Monday”,”Friday”); 



11 格式化字串

 1 <script language=”JavaScript”>
 2 <!--
 3 var myVariable = “Hello there”;
 4 document.write(myVariable.big() + “<br>”);
 5 document.write(myVariable.blink() + “<br>”);
 6 document.write(myVariable.bold() + “<br>”);
 7 document.write(myVariable.fixed() + “<br>”);
 8 document.write(myVariable.fontcolor(“red”) + “<br>”);
 9 document.write(myVariable.fontsize(“18pt”) + “<br>”);
10 document.write(myVariable.italics() + “<br>”);
11 document.write(myVariable.small() + “<br>”);
12 document.write(myVariable.strike() + “<br>”);
13 document.write(myVariable.sub() + “<br>”);
14 document.write(myVariable.sup() + “<br>”);
15 document.write(myVariable.toLowerCase() + “<br>”);
16 document.write(myVariable.toUpperCase() + “<br>”);
17 
18 var firstString = “My String”;
19 var finalString = firstString.bold().toLowerCase().fontcolor(“red”);
20 // -->
21 </script> 



12 创建数组

 1<script language=”JavaScript”>
 2<!--
 3 var myArray = new Array(5);
 4myArray[0= “First Entry”;
 5 myArray[1= “Second Entry”;
 6 myArray[2= “Third Entry”;
 7 myArray[3= “Fourth Entry”;
 8 myArray[4= “Fifth Entry”;
 9 var anotherArray = new Array(“First Entry”,”Second Entry”,”Third Entry”,”Fourth Entry”,”Fifth Entry”);
10// -->
11</script> 



13 数组排序

 1<script language=”JavaScript”>
 2<!--
 3 var myArray = new Array(5);
 4 myArray[0= “z”;
 5 myArray[1= “c”;
 6 myArray[2= “d”;
 7 myArray[3= “a”;
 8 myArray[4= “q”;
 9 document.write(myArray.sort());
10// -->
11</script> 



14 分割字符串

 1<script language=”JavaScript”>
 2<!--
 3 var myVariable = “a,b,c,d”;
 4 var stringArray = myVariable.split(“,”);
 5 document.write(stringArray[0]);
 6 document.write(stringArray[1]);
 7 document.write(stringArray[2]);
 8 document.write(stringArray[3]);
 9// -->
10</script> 



15 弹出警告信息

1<script language=”JavaScript”>
2<!--
3     window.alert(“Hello”);
4// -->
5</script> 



16 弹出确认框

1<script language=”JavaScript”>
2<!--
3 var result = window.confirm(“Click OK to continue”);
4// -->
5</script> 



17 定义函数

1<script language=”JavaScript”>
2 <!--
3 function multiple(number1,number2) 
4 var result = number1 * number2;
5 return result;
6 }

7// -->
8</script> 



18 调用JS函数

1<a href=”#” onClick=”functionName()”>Link text</a>
2<a href="/”javascript:functionName"()”>Link text</a> 



19 在页面加载完成后执行函数

1<body onLoad=”functionName();”>
2      Body of the page
3</body> 



20 条件判断

1<script>
2<!--
3 var userChoice = window.confirm(“Choose OK or Cancel”);
4 var result = (userChoice == true? “OK” : “Cancel”;
5 document.write(result);
6// -->
7</script>



21 指定次数循环

 1<script>
 2<!--
 3 var myArray = new Array(3);
 4 myArray[0= “Item 0”;
 5 myArray[1= “Item 1”;
 6 myArray[2= “Item 2”;
 7 for (i = 0; i < myArray.length; i++
 8 document.write(myArray[i] + “<br>”);
 9 }

10// -->
11</script> 



22 设定将来执行

1<script>
2<!--
3 function hello() 
4 window.alert(“Hello”);
5 }

6 window.setTimeout(“hello()”,5000);
7// -->
8</script> 



23 定时执行函数

 1<script>
 2<!--
 3 function hello() 
 4       window.alert(“Hello”);
 5        window.setTimeout(“hello()”,5000);
 6 }

 7 window.setTimeout(“hello()”,5000);
 8// -->
 9</script> 



24 取消定时执行

1<script>
2<!--
3 function hello() 
4          window.alert(“Hello”);
5 }

6 var myTimeout = window.setTimeout(“hello()”,5000);
7 window.clearTimeout(myTimeout);
8// -->
9</script>



25 在页面卸载时候执行函数

1<body onUnload=”functionName();”>
2     Body of the page

3</body>



 举出一些js常用类型?

字符,数字,数组,对象,null,undefined,date,function,bool

undefined 和 null 区别?

undefined 表示未声明,使用一个未定义的变量或一个不存在的对象

null 表示 无值 ,使用一个变量时表示不是一个有效的 字符,数字,数组等,是无效值

举出一个近期项目 并进行描述?(偶举例:模态窗口的封装与实现)

otion.ui.dialog

实现一个ajax请求 的步骤?

 建立一个 xhr = XMLHttpRequest || activeXObject

 监控 xhr.readyState ==4

 xhr.open('GET',URL,'true');

 xhr.send();

xml 与 json 区别?

 json是一个更轻量级的数据交换格式,它是由 键对值,中间有冒号隔开的的格式来表示内容,

xml语言更容易理解,但是代码也多很多,有很多重复的标记字符,

setTimeOut 和setInterVal 的区别,如果停止这两个函数?

setTimeOut 延迟段时间执行,

setInterVal 隔段时间循环执行  ---->  clearInterVal 清除间隔

不用jquery 如何实现动画效果?


举出几个常用全局方法?(不确定)

alert();eval();setTimeOut();setInterVal()

事件模型在不同浏览器下的区别?(事件的冒泡和捕获)

 

event的区别?不同浏览器如何判断?

标准的作为第一个对象传给时间执行,ie 只有window.event

插入代码 innerHTML 与 for循环出代码 选哪个更好?(不确定)

xhtml+css 页面制作时的一些经验技巧?

 

=============================

可能问到的

值传递与地址传递区别,并举例?

作用域相关?

创建 函数的方法?

继承实现的方法?

prototype相关知识?

什么是闭包?举例

 

================================

其他人碰到的问题

1 请实现,鼠标点击页面中的任意标签,alert该标签的名称.(注意兼容性)
  <script type="text/javascript">
  <!--
 document.onclick = function(e){
  var e= e|| event;
  var o= e["target"] ||e["srcElement"];
  alert(o.tagName.toString())
 }
  //-->
  </script>
2  请指出一下代码的性能问题,并经行优化。
   var info="腾讯拍拍网(www.paipai.com)是腾讯旗下知名电子商务网站。";
   info +="拍拍网于2005年9月12日上线发布,";
   info +="2006年3月13日宣布正式运营,";
   info +="是目前国内第二大电子商务平台。";
   info=info.split(",");
   for(var i=0; i<info.length; i++)
    {
       alert(info[i]);
    }

此处info为 字符型,在字符型相加时,为值传递,当info很大时将耗费很大的资源,故

将info设置为数组进行操作

var info = [];

info.push(="腾讯拍拍网(www.paipai.com)是腾讯旗下知名电子商务网站。");

info.push(="拍拍网于2005年9月12日上线发布,");

...

var _info = info.join("");



3   请给出异步加载js方案,不少于两种。



4   请写出jQuery绑定事件的方法,不少于两种。

$("#obj").click(function(){});

$("#obj").change(function(){});

$("#obj").bind("click",function(){});

$("#obj").live("submit",function(){});
...
5   请设计一套方案,用于确保页面中JS加载完全。

6   请优化某网页的加载速度。

页面优化的题目:

1.合并,并压缩js,css文件,以减少请求次数,与请求文件大小

2.css sprites 即 将多个相关图片合并到一张图上,通过坐标定位来显示图片

3.将文件中的大的隐藏图层如:标签切换页,改造成ajax请求,只有在用户点击时请求

7   对string对象经行扩展,使其具有删除前后空格的方法。
String.prototype.trim =function(){

    return this.replace(/(^\s*)|(\s*$)/g,'');

}