zoukankan      html  css  js  c++  java
  • JavaScript知识(二)

     你要保守你心,胜过保守一切,因为一生的果效,是由心发出的。————O(∩_∩)O...

    ...O(∩_∩)O...老师因有事下午没来上课,今天就只把中午讲的知识总结一下。由于昨天只是讲了JavaScript的一些基础入门知识点,所以今天就详细地总结一下Javascript的基础。

    Javascript语言组成:

    ECMAScript:描述了该语言的语法和基本对象。
    DOM(Document Object Model):文档对象模型,描述处理网页内容的方法和接口。
    BOM(Browser Object Model) :浏览器对象模型描述与浏览器进行交互的方法和接口。
     
    Javascript语言特点:
    1.是一种解释性脚本语言(代码不进行预编译)。
    2.主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
    3.可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
    4.跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
     
    Javascript数据类型
     
    1.命名规则(和C#基本一样)
    只能由字母、数字、$和下划线组成,并且第一个字符必须是字母或下划线。
    区分大小写,不区分双引号和单引号。
    不能使用关键字作为变量名。
    Javascript脚本语言中只提供了6种类型:
    • Undefined   未被定义类型
    • Boolean      布尔类型
    • String         字符串类型
    • Number      数字类型
    • Object        引用类型
    • Function     方法类型
    注:在使用变量之前,必须先进行变量的声明和定义,声明变量使用关键字var,可以同时声明多个变量
     
    2.运算符(和C#基本一样)
    Javascript语言的运算符主要分为:算数运算符、比较运算符、逻辑运算符。
    算术运算符包括:+、-、*、/、%、++、--
    比较运算符包括:>、<、==、>=、!=
    逻辑运算符包括:||(或)、&&(和)、!(非)
     注:“=”表示赋值  ““==”表示两边比较的值,"==="表示两边的值必须是同一类型
     
    3.程序结构(和C#基本一样)
    在Javascript脚本语言中,只提供了两种结构:条件结构(If、Switch-Case)、循环结构(For、While、do-while)
     
     查看类型
    • 当text=0时,打印出Number;当为空字符串时打印出string,为null打印出object
    var text = 0;
            alert(typeof text)


    类型转换(JS中可以把任意类型转换为Boolean类型,数字类型除了0之外都是true,反之是false)

    • 如果不赋值或赋值null或赋值undefined,则都是打印出的true,
    var u
    
    alert(u
    == undefined);
    • 字符串转布尔类型,字符串非空时返回True,否则返回False
    var s = "hello";
            var b = Boolean(s);
            alert(b);
    •  空值转换数字类型(Number())
    var b = null;
            alert(Number(b));
    • 转换浮点类型(ParseFloat()、ParseInt()转换整数类型)
     var s = "123.567";
            alert(parseFloat(s));
    • 凡是和字符串相连的都将转换为字符串
          var name = 'Join';
            var num = 123;
            alert( typeof  (name+num));
    • 任意类型都可以转字符串(tostring())

    toLocaleString()转本地语言          tostring(2)转为二进制

    var b = true;
            alert(b.toString());
            alert(name.toLocaleString());
    • function方法

    任何方法都以function开头。可以在方法里用return返回,并在方法外接收。

     function SayHi(name, message)
            {
                alert("Hello"+name+"mesg:"+message);
              
            }
             SayHi("Rocky", "123");

    调用方法时,参数要和方法体里一一相对。

    function howManyArgs()
            {
                alert(arguments[0]+arguments[1]+arguments[2]);
            }
           
            howManyArgs(1,2,3);

    注:在Javascript中没有方法重载的概念,名字相同,参数不同,也将会打印出最后一个方法。


    程序结构中没有块级作用域(可以在循环语句外调用i)

    for (var i = 0; i < 10; i++)
            {
    
            }
    
            alert(i);


    数组类型

    定义数组的几种方法

    1. var 数组名=new Array(具体长度)可以用for遍历出来,也可以直接alert(数组名)打印出来。

      var colors = new Array(3);//设置数组的长度。
            colors[0] = "red";
            colors[1] = "blue";
            colors[2] = "yellow";
            for (var i = 0; i <colors. length; i++)//遍历出来
            {
                alert(colors[i]);
            }

    2.var 数组名=new Array(值1,值2...值n)

    var colors1 = new Array("red", "blue", "yellow");
            for (var i = 0; i < colors1.length; i++)
            {
                alert(colors[i]);
            }

    3.可以简写:var 数组名=[值1,值2...值n]

    push(后进后出,追加到数组后面)

    pop(从数组的末尾移除最后一项)

    shift(取得数组中的第一项)

            var colo = ["red", "blue", "yellow"];
             
            colo.push("张三", "李四");
    colo.pop();
    alert(colo.shift());
    alert(colo);

    substring()第二个参数指定的是字符串最后一个字符后面的位置

    substr(n,m)n开始位置,m截取长度

    var str = "Woshiunib";
           alert(str.substring(1, 3));
           alert(str.substr(1, 3)); 

    排序:

     升序(sort())

    var values = [1, 3, 2, -9, 5, 11];
            function compare(v1, v2) {
                if (v1 < v2) {
                    return -1;
                }
                else if (v1 > v2) {
                    return 1;
                }
                else {
                    return 0;
                }
            }
            values.sort(compare);     
            alert(values);

    降序:在方法体里取反。

    var values = [1, 3, 2, -9, 5, 11];
            function compare(v1, v2) {
                if (v1 < v2) {
                    return 1;
                }
                else if (v1 > v2) {
                    return -1;
                }
                else {
                    return 0;
                }
            }
            values.sort(compare);     
            alert(values);

    倒序:(reverse())

    var values = [1, 3, 2, -9, 5, 11];
            function compare(v1, v2) {
                if (v1 < v2) {
                    return 1;
                }
                else if (v1 > v2) {
                    return -1;
                }
                else {
                    return 0;
                }
            }  
            values.reverse(values);
            alert(values);

    判断是否为数字(用IsNaN())

    var num1 = "Hello";
            alert(isNaN(num1));

    昨天由于时间的关系,没有写完,所以这是补的昨天的博客总结,今天晚上在继续吧!加油!O(∩_∩)O...

     
     
  • 相关阅读:
    计算机专业找工作注意什么
    LU分解
    HDU2050
    牛牛与字符串border 题解(gcd)
    牛牛与交换排序 题解(双端队列模拟区间反转)
    动态最小生成树 题解(线段树+归并排序)
    系数 题解(lucas+思维)
    D. Dogeforces 题解(并查集+构造)
    Java 入土基础
    E. AZ Graph 题解(思维)
  • 原文地址:https://www.cnblogs.com/ysaw/p/4207055.html
Copyright © 2011-2022 走看看