javascript 小概述

本文深入探讨了JavaScript的基础语法及高级特性,包括变量声明、函数定义与调用、面向对象编程、数组操作方法等核心内容,并介绍了如何利用扩展方法增强字符串功能。

//c#
int a=0;
int b;
int c = a + b;


//js
var a = 0;
var b;
var c = a+b;


数据类型
语法
*面向对象
类库(dom)

dom --》 SqlConnection
jquery/ext --》 SqlHelper

 

 

 

 


1、js标签 <script type="text/javascript">
 页面执行顺序,从上到下一行一行执行
2、事件onclick
3、变量 数据类型var  弱类型  判断变量是否为空if(x){}

<script type="text/javascript">
        var x = "abc";
        if (!null) {
            alert("null");
        }
        if (!undefined) {
            alert("undefined");
        }
       
        if (x == null) {
            alert("null");
        }
        if (typeof(x) == "undefined") {
            alert("undefined");
        }

        if (!x) {
            alert("未初始化   0");
        }

        if (x) {
            alert(x);
        }


4、函数的声明,函数路径不需要都有返回值,没有的话是"undefined"
 function add(){}

 

 调用方法
        var sum = add(5, 5);
        alert(sum);
   
   
        //方法的声明
        function add(i1, i2) {
            return i1 + i2;
        }

        alert(max(4,6)); //如果路径没有返回值,方法默认返回undefined
        function max(i1, i2) {
            if (i1 > i2) {
                return i1;
            }
        }

        定义方法的时候,方法名称不能和js内置函数重名
        function alert() {
            var i = 0;
                }

        匿名函数    //c#委托
        var f1 = function (i1, i2) {
            return i1 + i2;
        }
        //把f1这个方法传递给test
        function test(f) {
            return f(5, 6);
        }
        alert(f1);
        alert(test(f1));

        alert(function(i1,i2) {return i1+i2 }(5,6));


5、匿名函数
 var f1 = function(i1,i2){
  return i1 + i2;
 }
 alert(f1(i1,i2));
6、*面向对象  string

<script type="text/javascript">
      
        function Person(name, age, sex) {
            this.name = name;
            this.age = age;
            this.sex = sex;
            this.sayHello = function() {
                alert(name + "--" + age);
            }
        }

        var per = new Person("张三", 18, "男");
        alert(per);
        per.sayHello();
       
    </script>


7、array对象
 作为动态数组
 作为字典

 

        var names = new Array();
        names[0] = "john";
        names[1] = "lily";
        names[2] = "scofiled";
        for (var i = 0; i < names.length; i++) {
            alert(names[i]);
                }

        求最大值======================================
        var nums = new Array();
        nums[0] = 5;
                nums[1] = 6;

        function max(numbers) {
            var max = numbers[0];   //假设第一个数是最大值
            for (var i = 1; i < numbers.length; i++) {
                if (max < numbers[i]) {
                    max = numbers[i];
                }
            }
            return max;
        }
       
        var nums = [3,5,9,3,5,4];
        alert(max(nums));
       
       

        分割数组
        function splitArr(arr) {
            var first = arr[0];
            var s = first;
            for (var i = 1; i < arr.length; i++) {
               
                s += "|" + arr[i];
            }
            return s;
        }

        var arr = ["abc", "bcd", "qwe", "poi"];
        alert(splitArr(arr));

        //join函数
        alert(arr.join("~"));

 

        翻转数组
        [a,b,c,d,e]    [e,d,c,b,c]
        var a = "6";
        var b = "c";
        var tmp = "";
        tmp = a;
        a = b;
        b = tmp;
        alert(a);alert(b);
       
       
        alert(parseInt(5 / 2));
        function reverseArr(arr) {
            for (var i = 0; i < parseInt(arr.length / 2); i++) {
                var tmp = arr[i];
                arr[i] = arr[arr.length - i - 1];
                arr[arr.length - i - 1] = tmp;
            }
        }

        var arr = ["a","b","c","d","e","f","g"];

        alert(arr);
        reverseArr(arr);
        alert(arr);

 


        冒泡排序
         4,5,7,3,8,5
         N个数来排序,外层循环N-1,内层循环N-1-i
        var arr = [4, 5, 7, 3, 8, 5];
        alert(arr);
        sort(arr);
        alert(arr);
        function sort(arr) {
            for (var i = 0; i < arr.length - 1; i++) {
                for (var j = 0; j < arr.length - 1; j++) {
                    if (arr[j] < arr[j + 1]) {
                        var tmp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = tmp;
                    }
                }
            }
                }


        ==============arrar 作为字典===============
           字典
        var dic = new Array();
        dic["zs"] = "张三";
        dic["ls"] = "李四";
        dic["ww"] = "王五";

        错误
        for (var i = 0; i < dic.length; i++) {
            alert(dic[i]);
                }
        alert(dic["zs"]);
        alert(dic.zs);
        for (var d in dic) {
            alert(d);
            alert(dic[d]);
                }
        动态数组  特殊的字典。索引就是key
        var arr = new Array();
        arr[0] = "张三";
        arr[1] = "李四";
                arr[2] = "王五";
        动态数组  简化赋值
        var arr = ["张三","李四","王五"];
        for (var a in arr) {
            alert(a);
                }

        字典简化赋值

        var dic = { "zs": "张三", "li": "李四", "ww": "王五" };
        alert(dic.zs);


        var arr = ["tom", "jim", "lily"];
        alert(arr);
                alert(arr.join(","));


        使用for  in 对对象进行遍历

        for (var d in document) {
            alert(d);
        }

        var o = new Object();
        o.name = "张三";
        o.age = 18;
        o.sayHi = function() { alert(this.name) };
        //对对象遍历,对象的成员
        for (var s in o) {
            alert(s);
        }


8、json
 var json = {"zs":"张三","ls":"李四","ww":"王五"};
9、*扩展方法
 String.prototype.quote = function(str) {}

String.prototype.q = function(str) {
    return str + this + str;
}

String.prototype.s = function(length) {
return this.substr(0, length);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值