• JS入门熟知


    JS是面向对象的语言

    1. 封装
    2. 继承
    3. 多态
    4. 聚集(对象中具有引用其他对象的能力)

    JS使用中绝大多数情况不需要进行面向对象的设计,很多情况是使用已经设计好,准备好的对象,基于对象的语言.

    JS的使用(引入)

    1. jsp、html中直接在script标签中书写
    2. 在script标签中引入

      注意: 

      1. script 标签位置任意. 但是位置越靠前,执行越早.(重要)
      2. js 外部文件推荐扩展名是.js.但是其实任何后缀名都可以.
      3. 使用script标签引入外部文件,那么该script标签中就不要书写js代码了.

    JS的基本语法

    • 变量声明

       变量声明使用var,变量区分大小写 str 和 STR 不是同一个变量. 字符串使用双引号("")或单引号('')包裹都可以.变量的类型可以随时改变.命名规则是匈牙利标记法.

        var str = 1; var str = "Hello";  //两者之间没有任何区别

    • 行尾使用 ";" 作为一行的结束符号.(可以没有";", 以折行符(回车)作为一行的结尾.)(不推荐)  
    • js 中的注释有两种单行,多行

        单行注释"//"  多行注释 "/* */"

    • 封装代码块与 java 一样,使用{}.
    • 变量声明时, 前缀 var 也不是必须的.
        加var 和 不加 var 有什么区别? 如果不使用var,那么该变量是全局变量

    JS的类型

      js中类型分为两种

      1. 原始数据类型
      2. 对象数据类型

      java中 基本数据类型有 byte short int long float double boolean char
      js中 原始数据类型有     number(数字,浮点型,整型)
                 string(js语言的突破,没有char类型.)
                 boolean
                 null (用来标示引用数据类型的占位符.通常都是人为赋值.)var person = null;
                 undefined (由null衍生出来的值,是当我们声明一个变量,)
                    1.没有给该变量初始化值,那么系统会默认赋值为undefined
                    2.函数中没有返回值,那么默认返回undefined
      原始数据类型 判断符:
        typeof  用来判断一个变量是哪种原始类型的.
        null会返回object, 是js中的一个bug,这个bug 被认为很贴切.所以保留了该bug.

    JS中的语句

      java中有循环: for while-do do-while
         有判断: if switch
      js中语句 与java中一模一样!

      特殊: java中的增强for循环在js中没有.
      js中有for(var xx in xx) 语句.  用的很少,用来遍历对象的属性.

    JS中运算符

      一元运算符
        一元加法,减法  
          var a = +1;
          var b = -1;
        在js中的高级应用.
          var c = +"1";   //进行类型转换
          var d = +"abc";   // 转换失败,返回number中的特殊值 NaN.

      Boolean 运算符 ! && ||
      js中自动类型转换. 转换规律 (重点)
        string  ==> "" 转换为false 其他都为true;
        number ==> 除了NaN,+0和-0.其他都转换为true.
        null ==> false
        undefined ==> false
        NaN特性:
          NaN参与的任何boolean运算返回值都是false. 除了!=,因为undefined是null衍生出的,所以 alert(undefined == null);// true
      比较运算符

        alert(11>3);  //true
        当运算符两端 , 一端是数字,一端是其他类型时, 其他类型会自动向数字类型转换
          alert("11">3);  // true
          alert(11>"3");  //true
        字符串在进行比较时 ,规律是: 比较首字符asc码. 如果一样,比较第2位...
          alert("11">"3");  // false
          alert("11">"1");  // true
          alert("abc">11);  //false

        等性运算符 == != ===
        全等于: === 比较时包括类型.

    ECMAScript中的对象

    1. Object  是所有对象的超类.
    2. Function对象以及Function的创建
      1. var fun1 = new Function("a","b","alert(a+b);");
      2. var fun2 = function (a,b){alert(a+b);}
      3. function fun3(a,b){alert(a+b)}    
    3. Function的调用
    4. js中函数的调用只看函数名称. 调用时内置对象arguments, arguments代表函数运行期间实际参数列表.
        arguments.length  实际参数个数
        arguments[0]   第一个参数.
        应用: arguments 实现函数的重载.
    5.  函数的返回
      1. 如果函数没有显示指定返回值,那么函数返回值为undefined.
      2. 使用return关键字,返回内容
      3. return 关键字,在js中也可以作为结束方法运行的功能.
      4. void运算符的应用.

    ECMAScript中对对象的分类

    1. 本地对象
      内建对象   不需要创建实例.直接使用 Global Math
      主机对象   DOM BOM 两部分.
      ECMAScript中3个包装对象.
        String Number Boolean
      伪对象: string number boolean 这3个原始类型可以看作是伪对象, 能直接调用包装对象的方法和属性.
        String对象属性length
      重要的方法
        indexOf
        lastIndexOf
        charAt
        alert(str1.charAt(0));  //a
        charCodeAt 返回所在字符的asc码
        alert(str1.charCodeAt(0));  //97
        subString
        alert(str1.substring(0, 1));  //a
        slice 支持负数. 从右往左.
        alert(str1.slice(0, -1));  //a
      与正则结合的方法
        split
       
       replace
        match
        search

       Global对象

     

  • 相关阅读:
    Codeforces 977F
    Codeforces 219C
    Codeforces 1132
    Codeforces 660C
    Codeforces 603A
    Codeforces 777C
    Codeforces 677
    JNUOJ 1032
    Codeforces 677D
    Codeforces 835C
  • 原文地址:https://www.cnblogs.com/hanwen1014/p/6757924.html
Copyright © 2020-2023  润新知