• Python:Day44 Javascript


    一个完整的Javascript实现是由三个不同的部分组成:

    1、核心 ECMA Javascript

    2、浏览器对象模型(DOM) document object model (整合JS、html、CSS)

    3、浏览器对象模型(BOM)  broswer object model  (整合JS和浏览器)

    Javascript的两种引入方式:

    1、直接写在html中的<script>标签中

    2、导入外部JS文件,引入格式:<script src="hello.js"></script> 

    变量:

    javascript中声明变量使用var,如var a = 1;同一行也可以声明多个变量,多个变量之间用逗号隔开,如var a =1,b=2,c=3;

    每行结束可以不加分号,没有分号会以换行符作为每行结束。

    单行注释用//,多行注释用/*  */

    标识符:就是我们通常用的变量名

    关键字:就是语言定义好的一些具有特殊功能的词,如var、functon等

    保留字:就是现在还没有使用,以后可能作为关键字的一些词。

    基本数据类型:

    Number :整型、浮点型 

    String:通过单引号或双引号构成

    Boolean:true、false (小写) 

    Null:占一个对象的位置 

    Undefined: 如果声明了某个变量,但是未对它赋值,则该变量是undefined,这个值是系统自动赋的

    引用数据类型:

    object

    数据类型的转换:

    数字 + 字符串:数据转换为字符串

    数字 + 布尔值:true转换为1,false转换为0

    字符串 + 布尔值:布尔值转换为字符串true或false

    parseInt(3.14);

    parseInt("3.14");

    parseInt("3.14a");

    parseInt("a3.14");  //NaN:当字符串转换成数字失败时就是NaN;属于Number数据类型

    alert(NaN==0);

    alert(NaN>0);

    alert(NaN<0);

    alert(NaN==NaN);

    以上4个都是false。NaN数据在表达式中结果一定为false,除了!=

    运算符

    算术运算符

    ++   --

    var a = 1;

    var b = a++;  //先赋值后加减  a+=1

    alert(b);  //1

    alert(a);  //2

    var a = 1;

    var b = ++a;   //先加减后赋值

    alert(b);  //2

    alert(a);  //2

    var x = 1 ;

    alert(x++);   //其实是x=x+1,而alert的是前最前的面的一个x,由于此种方式是后赋值,所以alert出来的是1,但是执行完x=2

    alert(++x);

    alert(--x);

    alert(x--);

    一元加减法:

    var a=3;  //3

    var a="3"  //3

    var a="3.2"  //3.2

    var a="123a456"  //NaN

    var a="123a"  //NaN

    var a="a123"  //NaN

    b=+3

    alert(b)

    alert(typeof(b))

    逻辑运算符:

    等于 ( == ) 、不等于( != ) 、 大于( > ) 、 小于( < ) ?大于等于(>=) 、小于等于(<=)
    与 (&&) 、或(||) 、非(!)
    1 && 1 = 1 1 || 1 = 1
    1 && 0 = 0 1 || 0 = 1
    0 && 0 = 0 0 || 0 = 0

      控制语句:

    if 控制语句:

    if (表达式){
    语句1;
    ......
    }else{
    语句2;
    .....
    }

    switch控制语句:

    switch基本格式
    switch (表达式) {
      case 值1:语句1;break;
      case 值2:语句2;break;
      case 值3:语句3;break;
      default:语句4;
    }

    异常处理:

    try { //这段代码从上往下运行,其中任何一个语句抛出异常该代码块就结束运行 }

    catch (e)  { //如果try代码块中抛出了异常,catch代码块中的代码就会被执行。

       //e是一个局部变量,用来指用error对象或其它抛出的对象 }

    finally { //无论try中代码是否有异常抛出(甚至是try代码块中有retrun语句),finally代码块中始终会被执行 }

    对象分类: 

    Javascript的对象分为两种,一种是本地对象(native object)、宿主对象(host object)。本地对象包括内置对象。宿主对象就是浏览器和系统提供的对象。包括DOM和BOM

    ECMAScript

    Dom:操作与html相关的

    BOM:操作与浏览器相关的

    object对象:ECMAScript中的所有对象都由这个对象继承而来;Object对象中的所有属性和方法都会出现 在其它对象中

    查看数据类型的两种方法:typeof、instanceof

    typeof只能查看基本数据类型:

        a="hello world!";
        b=23.34;
        c=[1,2,3];
        alert(typeof(a));   //string
        alert(typeof(b));   //number
        alert(typeof(c));   //object

    instanceof用来判断某个对象是不是属于某种类型:

        var a="hello world!";
        var a1=new String("hello a1");
        var b=23.34;
        var c=[1,2,3];
        alert(a instanceof String); //false,这种方法对简写的变量好像没法判断
        alert(a1 instanceof String); //true
        alert(b instanceof Number); //false
        alert(c instanceof Array);  //true

    11种内置对象:

    包括:Array,String,Date,Math,Boolean, Number,Function,Global,Error,RegExp,Object

    创建对象:

    var aa = new String("hello");

    var bb = new Array("星期一”,"星期二”,"星期三”,"星期四”)

    Array对象:

    数组是有序的,可以通过下标取值。

    创建Array有两种方式,一种是直接创建,另一种是实例对象。

    var arr=[1,2,3,4,'hello']

    Array的属性:

    获取数组元素的个数:length

        arr=[2,3,'eee',5555];
        alert(arr.length);  //4

    Array的join方法:

    在python中join是字符串的方法,在javascript是Array的方法。

    javascript中数组的join方法是将数组中的元素用方法括号中的字符拼接起来。

        arr=[2,3,'eee',5555];
        ret=arr.join("+++++++");
        alert(ret);     //2+++++++3+++++++eee+++++++5555

    Array的push、pop方法:

    push为压栈(将元素压到数组的最后面)

    pop为弹栈(弹出最后一个元素)

        arr=[2,3,'eee',5555];
        arr.push(34,66,'world');    //直接在原数据上面进行操作
        alert(arr);  //2,3,eee,5555,34,66,world
        ret=arr.pop();  //弹出数组最后一个元素,并且将弹出的元素作为返回值返回
        alert(ret); //world

    Array的unshift、shift方法:

    unshift为添加元素(将元素添加到数组最前面)

    shift为移除元素(将数组最前面的元素移除)

        arr=[2,3,'eee',5555];
        arr.unshift(666);
        alert(arr); //666,2,3,eee,5555
        arr.shift();
        alert(arr); //2,3,eee,5555

    函数:

    function 创建方式1 (推荐方式)

    function fun1() {
        alert(123);
        return 8
    }
    
    var ret = fun1()
    alert(ret)

    创建方式2:

    var fun2=new Function ("参数1","参数n","函数体");
    var add = new Function ("a","b","alert(a+b)")
    add(1,2)

    function的属性和方法:

    alert(add.length);   length是参数的个数

    注意:js的函数加载执行与python不同,它是整体加载完才会执行,所以执行函数放在函数声明上面或下面都可以:

    匿名函数:

    // 匿名函数
        var func = function(arg){
            return "tony";
        }
    
    // 匿名函数的应用
        (function(){
            alert("tony");
        } )()
    
        (function(arg){
            console.log(arg);
        })('123')
  • 相关阅读:
    D. Babaei and Birthday Cake--- Codeforces Round #343 (Div. 2)
    Vijos P1389婚礼上的小杉
    AIM Tech Round (Div. 2) C. Graph and String
    HDU 5627Clarke and MST
    bzoj 3332 旧试题
    codeforces 842C Ilya And The Tree
    codesforces 671D Roads in Yusland
    Travelling
    codeforces 606C Sorting Railway Cars
    codeforces 651C Watchmen
  • 原文地址:https://www.cnblogs.com/sq5288/p/8762650.html
Copyright © 2020-2023  润新知