• JavaScript基础


    JavaScript基础

    JavaScript组成

    ECMAScript:解释器,翻译

    DOM:Document Object Model

    BOM:Browser Object Model

    各组成部分兼容性,兼容性由来

    ECMAScript:翻译 解释器(JavaScript核心)

    DOM:Document Object Model(文档对象模型)

    ​ 对象:HTML

    ​ DOM实际上赋予了操作HTML的能力

    BOM:Browser Object Model(浏览器对象模型)

    ​ 对象:window

    ​ BOM实际上赋予了对window操作的能力

    各组成部分兼容性,兼容性由来

    ​ ECMA 几乎没有兼容性问题

    ​ DOM 有一些操作不兼容

    ​ BOM 没有兼容问题(完全不兼容,几乎不去用)

    变量类型(1)

    var a = 12;			//一个数字变量
    var b = "awsdasd";	//一个字符串变量
    var c = true;		//一个布尔变量
    var d = function();	//一个函数变量
    var e = document;	//一个对象变量
    

    直接看到变量类型

    alert(typeof a);//返回number,表示变量存了一个数字
    alert(typeof b);//返回string,表示变量存了一个字符串
    alert(typeof c);//返回boolean,表示变量存了一个布尔值
    alert(typeof d);//返回function,表示变量存了一个函数
    alert(typeof e);//返回object,表示变量存了一个对象
    alert(typeof x);//返回undefined,表示未定义变量
    

    *变量本身没有类型,它的类型取自于变量里存的内容。一个变量应该只存放一种类型的值

    变量类型转换

    /*显式类型转换(强制类型转换)*/
    var a = '12';
    var b = '3.4';
    alert(parseInt(a));		//字符转数字,从左到右扫描,一旦扫描到不是数字的字符则立即返回。没有数字时返回NaN(Not a Number)
    alert(parseFloat(a)); 	//字符转小数,如果不知道转换的数字是整数还是小数,就直接用parseFloat
    

    JS中有个特性,NaN != NaN

    alert(isNaN(a));		//检测结果是否是数字,返回true或false
    
    /*隐式类型转换*/
    /*例1*/
    var a = 5;
    var b = '5';
    alert(a==b);	//返回true,先把a和b都转换成相同的类型,再进行比较
    alert(a===b);	//返回false,不转换类型直接比较
    /*例2*/
    var a = '12';
    var b = '5';
    alert(a+b);		//返回125,字符串连接(+可做数字相加和字符串连接,计算机选择轻松的字符串相加)
    alert(a-b);		//返回7,自动转换后进行减法(-只有数字相减功能)
    

    变量作用域和闭包

    作用域
    var a;		//全局变量
    function aa(){
        a=12;
        b=12;	//局部变量
    }
    function bb(){
        alert(a);
    }
    
    闭包

    ​ 简单来说就是函数嵌套,父函数可以使用子函数。

    命名规范(1)

    • 命名规范及必要性

      • 可读性
      • 规范性
    • 匈牙利命名法

      • 类型前缀
      • 首字母大写
    javascript 变量命名类型 变量命名前缀
    array 数组 a
    boolean 布尔值 b
    float 浮点数 l
    function 函数 fn
    int 整型 i
    object 对象 o
    regular 正则 r
    string 字符串 s

    运算符

    ​ 算数:+, - , * , / , %取模

    ​ 赋值:= , += , -= , *= , /= , %=

    ​ 关系:< , > , <= , >= , == , === , != , !==

    ​ 逻辑:&& , || , !

    ​ 运算符优先级:括号

    • %取模实例:隔行变色:
    window.onload=function()
    			{
    				var aLi=document.getElementsByTagName('li');
    				for(var i=0;i<aLi.length;i++)
                     {
                         if(i%2==0)
    					{
    						aLi[i].style.background='#CCC';
    					}
    					else
    					{
    						aLi[i].style.background='';
    					}
                     }
    			}
    
    • %取模实例:秒转时间:
    var s=368
    alert(parseInt(s/60) + '分'+ s%60 + '秒')		//6分8秒
    

    程序流程控制

    ​ 判断:if,switch,?:(三目运算符)

    ​ 循环:while,for

    ​ 跳出:break(打破,中断整个循环),continue(中断本次循环,继续)

    ​ 真假:true(非零整数,非空字符串,非空对象),false(数字零,空字符串,空对象,undefined)

    Json

    什么是Json?

    JSON它是基于JavaScript的一个子集,用于描述JS里面的数据

    Json和数组

    Json的下标是个字符串,数组的下标是个数字

    Json和for in

    Json循环的话不能像数组那样取数组长度进行循环,而for in循环能够解决Json的下标问题

  • 相关阅读:
    matlab 2021a 和 2021b共存的方案
    World Time Alighnment
    美化Xshell – 使用 Monokai 配色
    Centos 提示sudo: java: command not found解决办法
    typescript
    Spring MVC注册mapping
    Java执行JavaScript脚本
    vue3
    monaco editor
    rollup
  • 原文地址:https://www.cnblogs.com/potatolulu/p/12952386.html
Copyright © 2020-2023  润新知