[原]JavaScript总结

时间:2023-11-13 22:29:32

匿名函数
var ff = function () {
            return 'hhqybsl';
        };
        var result = ff();
        alert(result);
---》你点吧
 window.onload = function () {
            document.getElementById('btn').onclick = function () {
                alert(this.value);
            };
        };
<input type="button" name="name" value="你点吧" id="btn" />
---匿名函数直接调用。
var m = new Function("p1", "p2", "p3", "return p1+p2+p3");
        var result = m(1, 3, 4);
        alert(result);
---js中的方法
function Person() {
            this.name = 'hello';
            this.age = 100;
        }
        var per = new Person();
        alert(per.name);
        alert(per.age);
---》字符串
var names = '老杨★老牛★老蒋☆老虎';
        var res = names.split(/★|☆/, 3); //正则表达式        alert(res);
        substr(startIndex, len)// 从startIndex开始,截取len个字符。
--- 数组-键值对
var arr = new Array();
        arr[0] = true;
        arr[1] = 90;
        arr[3] = 'aaa';
        for (var i = 0; i < arr.length; i++) {
            alert(arr[i]);
        }
function Person() {
            this.name = '小杨';
            this.age = 18;
            this.gender = '男';
        }
        var p1 = new Person();
        for (var key in p1) {
            alert(key + '  ' + p1[key]);
        }
<script type="text/javascript">

var m = 100;
        //啥用--模拟面向对象---闭包没什么事不要乱写,效率低,
    //通过作用域链访问
        function ff() {
            var n = 10;
            alert(m);
            return function () {
                var str = '10000';
                alert(n);
                alert(m);
                alert(str);
            }
        }
        var f1 = ff();
        f1();
   
    </script>
001)求一个整数组中的最大值和求和。
        function GetMax(arr) {
            var sum = 0;
            for (var i = 0; i < arr.length; i++) {
                sum += arr[i];
            }
            return sum;
        }
        var arr = [1, 3, 4, 5, 6];
        var result = GetMax(arr);
        alert(result);
002)将一个字符串数组输出为|分割的形式,比如“梅西|卡卡|郑大世”。不要使用JavaScript中的Join函数。arr1.join(“|”)将数组用分隔符连接成一个字符串。//自定义一个myJoin函数。
var names = ["z", "w", "j"];
        function joinStr(n) {
            var text = '';
            for (var i = 0; i < n.length-1; i++) {
                text += names[i] + '|';
            }
            return text + n[n.length - 1];
        }
        var result = joinStr(names);
        alert(result);
003)将一个字符串数组的元素的顺序进行反转
        var arr = ['x', 'ss', 'lll', 'wwww'];
        function ReversArr() {
            var text = '';
            for (var i = 0; i < arr.length / 2; i++) {
                text = arr[i];
                arr[i] = arr[arr.length - 1 - i];
                arr[arr.length - 1 - i] = text;
            }
        }
        ReversArr();
        alert(arr);
004)交换两个变量。(*,测试一下是否会交换)
        function f1(n1, n2) {
            var n = n1;
            n1 = n2;
            n2 = n;
            alert(n1 + '\t' + n2);
        }
        f1(1, 2);
005)var arr = new Array();
        arr["1"] = "牛牛";
        arr["2"] = "小小";
        arr["3"] = "王王";
        for (var i in arr) {
            alert(i + '\t' + arr[i]);
        }
006)键值对 可以用点的方式获取里面的key对应的值
        var personalInfo = { "name": "周杰伦", "age": 20, "address": { "city": "beijing", "country": "China"} };
        alert(personalInfo.name);
007)在这个页面中只要用字符串. 那么就能点出checkemail这个方法,并使用
        String.prototype.checkEmail = function () {
            return this.indexOf('@') > 0 ? true : false;
        }
        alert('yj@126.com'.checkEmail());