• JS循环


    1、算术运算
    + 加、- 减、* 乘、 / 除、 % 取余、++ 自增、-- 自减

    +:有两种作用,链接字符串/加法运算;当+两边均为数字时,进行加法运算;当+两边有任意一边为字符串时,进行字符串链接,链接之后的结果认为字符串;
    ++:自增运算符,将变量在原有基础上+1;
    --:自减运算符,将变量在原有基础上-1;

    【n++ 与 ++n 的异同】
    n++: 先使用n的值进行计算,然后再把n+1;
    ++n: 先把n的值+1,然后再用n+1以后的值,去运算;
    相同点:不论n++还是++n,在执行完代码以后,均会把n+1;
    eg:var a = 3;
    var b,c;
    b = a++ +2; // a=3 b=5 a=4
    c = ++a +2; // a=4 a=5 c=7

    2、赋值运算
    = 赋值、 += -= *= /= %=

    +=: a += 5;相当于 a = a + 5; 但是,前者的执行效率要比后者快。

    3、关系运算
    == 等于、=== 严格等于、 != 不等于、>、<、>=、<=

    ===: 严格等于;类型不同,返回false;类型相同,再进行下一步判断;
    ==:等于; 类型相同,同===;类型不同,尝试将等式两边转为数字,再判断;
    特例:null == Undefined √ null === Undefined ×

    4、条件运算符(多目运算)
    a>b?true:false

    有两个关键符号: ?和:
    当?前面的部分运算结果为true时,执行:前面的代码;
    当?前面的部分运算结果为false时,执行:后面的代码;

    >>>多目运算符可以多层嵌套:
    例如:var jieguo = num>5?"输入太大":(num==5?"蒙对了!":"输入太小");

    5、逻辑运算符
    && 与、|| 或、! 非


    [运算符的优先级]
    ()
    ! ++ --
    % / *
    + -
    > < >= <=
    == !=
    &&
    ||
    各种赋值 = += *= /= %=

    【n++ 与 ++n 的异同】
    n++: 先使用n的值进行计算,然后再把n+1;
    ++n: 先把n的值+1,然后再用n+1以后的值,去运算;

    相同点:不论n++还是++n,在执行完代码以后,均会把n+1;

    使用JS的三种方式
    1、HTML中内嵌JS
    <button onclick="javascript:alert('小孩')">点我</button>
    2、HTML中链接JS
    <script type="text/javascript">
    //JS代码
    </script>
    3、引用外部JS文件
    <script language="JavaScript" src=""></script>

    【注意事项】
    1、①页面中JS代码与引用JS代码,可以嵌套任何位置,但是位置不同会影响JS代码的执行顺序
    例如:<script></script>在body前面,会在页面加载之前执行JS代码

    ② 页面中代码type="text/javascript"

    ③ 引用外部language="JavaScript"
    引用外部JS文件的<script></script>标签,必须成对出现,且标签内不能有任何代码

    JS中的注释
    //单行注释 ctrl+/
    /*
    * 段落注释。ctrl+shift+/
    */
    /*
    【JS中的变量】
    1、JS中变量声明的写法
    var width=10; 使用var声明的变量,只在当前函数作用域有效
    width1=11;不实用var,直接赋值生成变量,默认为全局变量,整个JS文件有效
    var a,b,c=1;同一声明语句同时声明多个变量,变量之间用英文逗号分隔,但是赋值需要单个赋值
    上式中,只对c赋值,a,b没有定义,且≠1
    【声明注意事项】
    ①JS所有变量类型声明,均使用var关键字,变量的具体数据类型,取决于给变量赋值的执行

    ②同一变量,可以在多次不同赋值时,修改变量的数据类型
    var with=10; width为整形变量
    width1="哈哈";width被改为字符串类型

    ③ 变量可以使用var声明,也可以省略var,区别在于不使用var,默认为全局变量

    ④同一变量名,可以多次使用var声明,但是没有任何含义,也不会报错,第二次之后的声明,只会被理解为赋值

    2、变量的命名规范
    ①变量名只能有字母,数字,下划线,$符号组成
    ②开头不能是数字
    ③变量区分大小写,大写字母与小写字母为不同变量

    3、变量名命名要符合驼峰法则
    变量开头要小写,之后每个单词首字母大写

    4、JS中的变量数据类型
    Undefined:未定义,用var声明的变量,没有进行初始化赋值。var a;
    Null:代表特殊变量类型,唯一值为null,表示空的。var a=null;
    Boolean:真假,可选值true/false
    Number:数值类型。可以用小数,也可以用整数。
    String:字符串类型。用""或""包裹的内容,成为字符串。
    Object
    5、常用的数值函数
    ①isNaN:用于判断一个变量或者常量,是否为非数值
    使用isNaN判断时,会尝试使用Number()函数进行转换,如果能转换为数字,则不是非数值,结果为false
    "111"纯数字字符串,false""空字符串,false"1a"包含其它字符,true
    true/false 布尔类型,false

    ②Number():将其它类型转换为数值类型
    【字符串类型转数值】
    》字符串为纯数值字符串,会转为对应的数字"111"转为111
    》字符串为空字符串时,会转为0 ""转为0
    》字符串包含其它非数字字符时,不能转换"111a"转为NaN

    Boolean类型转换值
    true转化为1 false转换为0

    null/Undefined转换值
    null为0 Undefined为NaN

    object类型转换值
    先调用ValueOf方法,确定函数是否有返回值,再根据上述各种能够情况判断

    ①parseInt:将字符串转换为数值
    》空字符串不能转,结果为NaN
    》纯数字串能转,小数点转换时直接转换整数,不进行四舍五入
    》包含其它字符的字符串,会转字符之前的数字
    注:它只能转string类型

    ②parseFloat:将字符串转为数值
    使用方式同上
    但是转化小数时,保留小数
    转化整数字符串时,保留整数

    ③typeof用来检测变量数据类型
    未定义Undefined 字符串 String true/false:Boolean 数值Number
    对象/null Object 函数function

    1、算术运算
    + 加、- 减、* 乘、 / 除、 % 取余、++ 自增、-- 自减

    +:有两种作用,链接字符串/加法运算;当+两边均为数字时,进行加法运算;当两边的任意一边为字符串时,起到链接
    字符串的作用,结果仍然是字符串

    ++:自增运算,表示+1
    --:自减,表示-1



    2、赋值运算
    =赋值 +=加后赋值 a+=5;相当于a=a+5,前者执行效率较快
    -= *= /= %=

    3、关系运算
    ==等于、
    !=不等于、
    ===严格等于

    >、<、>=、<=

    ===:类型不同返回false,相同则进行判断;
    ==:类型相同时,同===,类型不同时 ,将等式两边均用number()转为数字,在验证
    null==undefined √ null===undefined ×

    3、条件运算符(多目运算)
    a>b?true:false
    有两个关键符号:?和:
    当?为true时,执行:前的代码
    反之执行:后的代码

    多目运算符可以多层嵌套
    eg:var jieguo=number>5? "输入太大":(number==5? "蒙对了":"太小了")

    4、 逻辑运算符
    &&、||、!

    if-else结构
    1、 if(判断条件){
    //条件true执行
    }else{
    //条件false执行
    }
    2、if()中的表达式,运算之后的结果应该为:
    ① Boolean:true 真 false:假
    ②String:非空字符串为真 反之则错
    ③Null/NaN/Undefined:全为假
    ④object:全为真
    ⑤number:非0为真

    3、else{}结构,可以根据具体情况省略

    1、多重if
    * 1、结构写法:
    * if(条件一){
    * 条件一不成立
    * }else if(条件二){
    * 一不成立 二成立 else if 部分,可以以有N多个
    * }else{
    * 一二都不成立
    * }
    *2、多重if结构中,各个判断条件互斥,只能选择一条
    *3、if/else{}可以省略,但不提倡
    * 省略,if/else包含代码,仅为其后最近一行(分号结束);
    * else结构永远输入其前方最近一行if
    */

    /*嵌套if条件
    * 1、结构写法
    * if(条件一){
    * 条件一成立
    * } if(条件二){
    * 一二都成立
    * } else{
    * 条件一成立,二不成立
    * }
    * else{
    * 条件一不成立
    * }
    *
    * 【Switch-case结构】
    * 1、结构写法
    * switch(表达式){
    * case 常量表达式1:
    * 语句1;
    * break;
    * case 常量表达式2:
    * 语句2;
    * break;
    * ...
    * default:
    * 语句N
    * break;
    * }
    * 2、注意事项:
    * ①switch()中的表达式,以及每个case后面的表达式,可以为任何JS支持的数据类型;(对象和数组不行)
    * ②case后面所有的常量表达式,必须各不相同,否则只会执行第一个;
    * ③case后的常量可以是任何数据类型,同一个switch结构的不同case,可以是多种不同的数据类型;
    * ④switch在进行判断的时候,采用的是全等判断===;
    * ⑤break的作用,执行完case代码后,跳出当前switch结构;
    * 缺少break的后果:从正确的case项开始,依次执行所有的case和default
    * ⑥switch结构在判断时,只会判断一次正确答案,当遇到正确的case项后,将会不再判断
    * 后续项目,依次往下执行
    * ⑦执行速率优先于多重if结构,在多路分支时,可优先考虑;

  • 相关阅读:
    C++11:02decltype关键字
    git 源操作,分支操作
    git操作命令以及优点
    drf--序列化组件
    项目相关 --知识点
    vue框架:
    drf --解析器,异常模块,响应模块 序列化组件
    drf框架相关
    中间键 csrf跨站请求伪造 装饰器相关 auth模块
    多对多表的创建方式 forms组件 session与cookie
  • 原文地址:https://www.cnblogs.com/zhang11424/p/6671875.html
Copyright © 2020-2023  润新知