JavaScript(上)

<!-- 如果在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>
原文地址:https://www.cnblogs.com/vijay/p/3520012.html