• javascript基础知识汇总


      0.()、[ ]、{ } 的用法:

        ():用于运算符中

         [ ] :用于数组中

         { }:用于对象中

      1.查看数据类型:typeof    例:typeof  x;

      2.六种数据类型:string,number,boolean,null,undefined,object

        基本数据类型(原始数据类型):string,number,boolean,null,undefined

        引用数据类型:object

       所有的JavaScript值,除了原始值,都是对象。原始值:没有属性或方法的值,原始值是一成不变的,硬编码。

         假如:x = 3.14,你可以改变 x 的值,但是无法改变3.14的值  

      

      3.强制类型转换 String

        方式一:有局限性,只针对Number,Boolean类型

        - 调用被转换数据类型的toString()方法

        - 该方法不会影响到原变量,它会将转换的结果返回

        - 注意:null和undefined这两个值没有toString()方法 , 如果调用他们的方法,会报错

        强制类型转换String:

            var a = 123;

            a = a.toString();

        方式二:

        - 调用String()函数,并将被转换的数据作为参数传递给函数

        - 使用String()函数做强制类型转换时,

        - 对于Number和Boolean实际上就是调用toString()方法

        - 但是对于null和undefined,就不会调用toString()方法, 它会将null直接转换为 " null ", 将undefined直接转换为 " undefined "

        方式二案例:

            var a = 123;

            a = String(a);

      4.强制类型转换Number()

       字符串 — >数字

           1.如果是纯数字的字符串,则直接将其转换成数字

           2.如果字符串中有非数字的内容,则转换为NaN

           3.如果字符串是一个空串或者全是空格的字符,则转换为0

         布尔 — > 数字

              true            转成 1

              false          转成 0

           null             转成 0

           undefined    转成  NaN

     

      转换方式二:

        - 这种方式专门用来对付字符串

        - parseInt() 把一个字符串转换为一个整数

        - parseFloat() 把一个字符串转换为一个浮点数

           方式二案例:

                var  a = “ 123px ” ;

                var  b = “ w32.12 ” ;

                a = parseInt(a);  //a=123  从左往右开始读取数字

                b = parseInt(b);  //b=NaN  第一个是非数字的字符,返回NaN

      5.其他进制的数字

        - 在js中,如果需要表示16进制的数字,则需要以0x开头

        - 如果需要表示8进制的数字,则需要以0开头

        - 如果需要表示2进制的数字,则需要以0b开头

        - 但是不是所有的浏览器都支持

        - 像 ” 070 “ 这种字符串,有些浏览器会当成8进制解析,有些会当成10进制解析

              例:

                 var a = “ 070 “;

                 a  = parseInt(a,10);   //手动固定字符串类型为10进制

      6.强制类型转换Boolean

      方式一:使用Boolean()函数

        数字 —> 布尔

          除了0和NaN,其余都是true

        字符串 — > 布尔

                    除了空串,其余都是true

        null和undefined 都会转换为false

        对象也会转换为true

     

      方式二(隐式类型转换):

        为任意的数据类型做两次非运算,即可将其转换为布尔值

        例:

                        var  a = " hello " ;

                        a = !!a ;   //true

      7.算数运算符

        1.当对非Number类型的值进行运算时,会将这些值转换为Number然后进行计算

        2.任何值和NaN做运算都得NaN

        3.任何值做 + 运算时都会自动转换为String,并把字符串拼接

        4.任何值做 -  *  / 运算时都会自动转换为Number

        5.可以利用这一特点做隐式的类型转换,可以通过一个值-0 ,*1,/1来将其转换为Number,原理和Number()函数一样,使用起来更加简单

      8.一元运算符:

        负号 ( - ) 可以对数字进行负号的取反

        对于非Number类型的值,它会先将其转换为Number,然后再运算

        可以对一个其他的数据类型使用+,来将其转换为number,它的原理和Number() 函数一样

      9.自增和自减

       1.自增 ++

        - 通过自增可以使变量在自身的基础上增加1

        - 对于一个变量自增以后,原变量的值会立即增加1

        - 自增分成两种:后++(a++)和前++(++a)

        无论是a++ 还是++a,都会立即使原变量的值自增1,不同的是a++  和 ++a的值不同:

          a++的值等于变量的原值(自增前的值)

          ++a的值等于变量的新值(自增后的值)

        注意:变量a 和 表达式a++ /++a是不同的值

      例1:

        var  a = 1;

         //console.log(a++);  //  1

        console.log(++a);  //  2

        console.log(a);    //  2

      例2:

        var  d = 20;

        var result = d++  +  ++d  + d;  // 20+22+22=64

      解析:当运行表达式d++时,d++等于20,更新d的值21, 当运算++d时,++d等于22,更新d的值是22

       2.自减 - -

        - 通过自减可以使变量在自身的基础上减1

        - 自减分成两种:后 - -(a - -)和前 - -(- - a)

        无论是a - - 还是 - - a,都会立即使原变量的值自减1,不同的是a - -和 - - a的值不同:

          a - - 是变量的原值(自减前的值)

          - - a 是变量的新值(自减后的值)

      10.逻辑运算符:

        1.非运算(!)

         !(非)可以用来对一个值进行非运算, 所谓非运算就是值对一个布尔值进行取反操作,true变false,false 变 true

         如果对一个值进行两次取反,它的值不会变化,如果对非布尔值进行运算,会将其转换为布尔值,然后取反

         可以利用这一特点,将一个其他的数据类型转换为布尔类型

         

        2.与运算(&&)

         &&可以对符号两侧的值进行与运算并返回结果

         运算规则:

           两个值中只要有一个值为false就返回false,

          只有两个值都为true时,才返回true

        JS中的“与”属于短路与:

          如果第一个值为false,不会看第二个值,不会返回结果

          在运算中查看是否有false,只要有false就不会返回结果

     

         3.或运算(||)

         || 可以对符号两侧的值进行或运算并返回结果

         运算规则:

          两个值中只要有一个true,就返回true

          如果两个值都为false,才返回false

        JS中的“或”属于短路的或

          如果第一个值为true,不会检查第二个值,直接返回结果

          或运算就是在运算中找true

      11.非布尔值的与或运算:

       &&, ||, 非布尔值的情况

        对于非布尔值与或运算时,先转换为布尔值,然后再运算,并且返回原值

       与运算(&&):

        如果第一个值为true,则必然返回第二个值

        如果第一个值为false,则直接返回第一个值

       或运算(||):

        如果第一个值为true,则必然返回第一个值

        如果第一个值为false,则直接返回第二个值

            例:

               var  result = 2 && 1;   // true && true; 返回原值1;

               var  result = NaN && 0;  // false && false; 返回原值NaN;

      12.关系运算符:

       非数值的情况

        对于非数值进行比较时,会将其转换为数字然后再比较,如果符号两侧的值都是字符串,不会将其转换为数字进行比较,而会分别比较字符串中的Unicode编码

        任何值和NaN做比较都是false

        比较两个字符串时,比较的是字符串的字符编码

        比较字符编码时是一位一位的进行比较,如果两位一样,则比较下一位,所以借用它来对英文进行排序

        比较中文时,没有意义

        比较两个字符串类型的数字,可能会得到不可预期的结果(只要里面有一个是数字类型就可以)

        注意:在比较两个字符串型的数字时,一定一定一定要转型

      例:

        console.log(" 12332173627  " <  + ' 7 ');

      13.Unicode编码:

       JS中使用转义字符输入Unicode编码:u四位编码         例:u2620;

       在网页中使用Unicode编码 :&#编码;        例:&#9760;

       可以使用电脑自带的计算器选择程序员进行转换进制

      14.相等运算符

       相等(==)

        相等运算符用来比较两个值是否相等,如果相等返回true,否则返回false

        使用 == 来做相等运算

        当时用 == 来比较两个值时,如果值的类型不同则会自动进行类型转换,将其转换为相同类型,然后再比较

        NaN不和任何值相等,包括他本身

        判断b 的值是否是NaN,通过isNaN()函数判断,如果是NaN返回true,否则返回false

      例:

        var  b = 123;

        console.log( isNaN(b) );

     

      不相等(!=)

        判断两个值是否不相等,如果不相等返回true,否则返回false

        使用!=来做不相等运算

        不相等会对变量进行自动的类型转换,如果转换后相等返回false

     

      全等(===)

        用来判断两个值是否全等,和相等类似,不同的是它不会做自动类型转换

        如果两个值类型不同,直接返回false

     

      不全等(!==)

        用来判断两个值是否不全等,和不等类似,不同的是他不会做自动类型转换

        如果两个值的类型不同,直接返回true

      15.条件运算符  (又称作:三元运算符)

       语法:

        条件表达式 ?语句1:语句2;

       执行流程:

        条件运算符在执行时,首先对条件表达式进行求值,

        如果值为true,则执行语句1,并返回执行结果

        如果值为false,则执行语句2,并返回执行结果

      例:

       获取下列数据中的最大值。

        var a = 300;

        var b = 143;

        var c = 210;

        var max = a > b?a:b;

        max = max > c?max:c;

           第二种写法:(不推荐)

        var max = a > b ? ( a > c ? a : c ) : ( b > c ? b : c );

      16.运算符的优先级:

        优先级一样,则从左往右计算,可以使用 ( ) 来改变优先级

        &&  比  || 的优先级高

      17.代码块:

        程序是由一条一条语句构成的,语句是按照自上向下的顺序一条一条执行的

        在JS中使用 { } 来为语句进行分组

        同一个 { } 中的语句称为一组语句,要么全部执行,要么都不执行

        一个 { } 中的语句称为一个代码块,在代码块后面不用再编写;了

      注意:在JS中的代码块,只具有分组的作用,没有其他用途,代码块内容的内容,在代码块外部是完全可见的

      18.流程控制语句:

       在JS中程序是从上到下一行行执行的,通过流程控制语句可以控制程序执行流程,使程序可以根据一定的条件来选择执行

       语句分类:

        1.条件判断语句  if ( 条件表达式 ) { }  

        2.条件分之语句  if ( 条件表达式 ) { } else if { } else { } 

        3.循环语句    for,while,do . . . while()

      1.条件判断语句:

        - 使用条件判断语句可以在执行某个语句之前进行判断

        - 如果条件成立才会执行语句,条件不成立则语句不会执行

      If语句

      语法一:

        If(条件表达式){

          语句….

        }

      If语句在执行时,会先对条件表达式进行求值判断

      如果条件表达式的值为true,则执行if后面的语句,如果条件表达式的值为false,则不会执行if后的语句

      If语句只能控制紧随其后的那一条语句

  • 相关阅读:
    servlet规范核心类图
    策略模式
    掌握Spark机器学习库-07-回归算法原理
    掌握Spark机器学习库-07-线性回归算法概述
    掌握Spark机器学习库-07-回归分析概述
    掌握Spark机器学习库-06-基础统计部分
    掌握Spark机器学习库-05-spark中矩阵与向量的使用
    测试开发要懂的设计模式知识
    数据可视化工具-ECharts
    掌握Spark机器学习库-02-mllib数据格式
  • 原文地址:https://www.cnblogs.com/qtbb/p/11211592.html
Copyright © 2020-2023  润新知