<!-- 如果在script标签中使用了src属性。必须注意的是不要在该标签中在定义js代码。 -->
<script type="text/javascript" src="hello.js"></script>
<script type="text/javascript">
alert("hello javascript");
</script>
hello.js
alert("hello haha");
<script type="text/javascript">
//1,js的语法。
/*
程序设计语言:就是表现形式不同。
1,标识符,
2,注释。
3,常量变量。
4,运算符。
5,语句。
6,函数。
7,数组。
*/
//变量。关键字var完成,没有明显类型。
/*
var x = 4;
x = "abc";
x = true;
x = ‘qqqqq‘;
alert("x="+x);
*/
//var y;
//alert("y="+y);//y=undefined
//alert(3140/1000*1000);//3140
//alert("12"-1);//11
//alert("qq"-1);//NaN
//alert(typeof(123));//number
//alert(typeof(3.45));//number
//alert(typeof("abc"));//string
//alert(typeof(true)=="boolean");//boolean
//alert(false+2);//false就是0或者null。非0非null就是true。默认1.
//语句。
//if。
/*
var x = 3;
if(4=x){//对数值判断时,将常量放左边。
alert("yes");
}else{
alert("no");
}
switch与java一致.
*/
//循环。
/*var x = 1;
while(x<3);
{
alert("x="+x);
x++;
}
*/
/*
for(var x=0; x<3; x++)
{
alert("x="+x);
}
*/
//System.out.println("hello world");
//document.write("hello world");
//九九乘法表。
document.write("<table>");
for(var x=1; x<=9; x++){
document.write("<tr>");
for(var y=1; y<=x; y++){
document.write("<td>"+y+"*"+x+"="+y*x+"</td>");
}
document.write("</tr>");
}
document.write("</table>");
</script>
<script type="text/javascript">
//js中的函数。
//通过关键字function定义。
function show(){
alert("show run");
}
//show();
function showParam(){
//函数内部内置了一个参数数组。内部存储的都是传递进来的实参。arguments
for(var x=0; x<arguments.length; x++)
alert(arguments[x]);
}
//注意:一定定义时,有几个参数就传递几个参数。
//showParam(3,4,5,6);
function showValue(){
return 10;
}
//js中的函数在内存中其实是一个Function类型的对象。而函数名其实就是该对象的引用。
//var sum = showValue();//调用showValue函数,并用sum变量接收该函数运算完的结果。
var sum = showValue;//将showValue应用的地址赋值给sum。sum也就指向了该函数对象。
//alert("sum="+sum());//sum=10;
//alert("sum="+sum);//将sum指向函数对象转成字符串(就是调用对象的toString()))函数对象的字符串表现形式就是定义的函数的表现形式。
//动态函数,其实是使用了js中内置的对象Function完成的函数建立。
var func = new Function("x,y","var sum=x+y;return sum;");//这其实就是在创建函数对象。
/*动态函数和该函数的功能一致。
function func(x,y)
{
var sum = x+y;
return sum;
}
*/
var sum = func(5,8);
//alert(sum);
//匿名函数。没有名字,函数的简写。一般用于给事件定义功能,便于简化。
var method = function()
{
alert("over");
}
/*
function abc()
{
alert("over");
}
var method = abc;
method();
*/
//变量的作用域。只要在script标签中直接定义的变化都是全局的。都可以访问。
//var num = 5;
for(var n=0; n<2; n++){//n变量也是全局的。
//alert("n="+n);
}
function showVar(){//函数内定义的变量就是局部变量。在函数内有效。
var k = 9;
}
//alert("k="+k);
var m = 4;
function demo(m){
m = 9;
}
demo(m);
alert("m="+m);//m=4
</script>
<script type="text/javascript">
//js中的数组。
/*
特点:
1,容器用于存储数组。
2,长度是可变的。
3,元素类型是任意的。
*/
//定义数组。
var arr = [3,6,8];//直接明确数组的长度和内容。
arr[5] = "abcd";
arr[2] = true;
println(arr.toString());
function showElement(arr){
var str = "[";
for(var x=0; x<arr.length; x++){
if(x!=arr.length-1){
str+=arr[x]+",";
}else{
str+=arr[x]+"]";
}
}
println(str);
}
function println(str){
document.write(str+"<br/>");
}
showElement(arr);
//数组的另一种定义方式。使用Array完成的。
var arr2 = new Array(3,9);//var arr2 = [];
var strs = ["abcd","aaa","cba","zz","hehe"];
println(strs);
sortArray(strs);
println(strs);
function sortArray(strs){
for ( var x = 0; x < strs.length - 1; x++) {
for ( var y = x + 1; y < strs.length; y++) {
if (strs[x] > strs[y]) {
swap(strs, x, y);
}
}
}
}
function swap(strs,x,y){
var temp = strs[x];
strs[x] = strs[y];
strs[y] = temp;
}
</script>