资讯专栏INFORMATION COLUMN

一只前端小白的JS note

xiaowugui666 / 1921人阅读

摘要:数据类型转换转换为强制类型转换方法如果调用和的会报错函数对于具有方法类型,也会调用它的来进行转换对于直接将其转换为对于直接将其转换为隐式类型转换通过为任意类型加上一个空串的形式将其转换为字符串转换为强制类型转换函数转换的情况字符串如果是一个

数据类型转换 转换为String
 强制类型转换
  1.  toString()方法:

             var  a=10;
             a=a.toString();

如果调用undefined和null的toString()会报错

    2.String()函数
    var a=10;
    a=String(a)

对于具有toString()方法类型,String()也会调用它的toSting()来进行转换
对于null 直接将其 转换为 "null"
对于undefined 直接将其 转换为 "undefined"

 隐式类型转换
  通过为任意类型加上一个空串的形式将其转换为字符串
    var a=10;
    a=a+"";
转换为Number
 强制类型转换
 1.Number()函数

   var num="10";
   num=Number(num);

转换的情况:

  字符串: 如果是一个合法的数字  则直接转换成对应的数字
         如果不是一个合法的数字 则转换成NaN
         如果是空字符串和纯空格的字符串 则转换为0
         
         
  布尔值: true转换成1   false变成0
   
  null:null直接转换为0
  
  undefined:undefined转换为NaN    
  
  
  2.parseInt()函数    
   将一个字符串中的有效整数位提取出来
   
  3. parseFloat()函数
   将一个字符串中的有效小数提取出来
   
   
   
  隐式类型转换 
  使用一元运算符的"+"将任意的数据类型转换为Number

var a="10";
a=+a;
转换为Boolean
 强制类型转换
 调用Boolean()函数
var a=1;
a=Boolean(a);

转换的情况:

  String  除了空字符串  其余都是true
  Number  除了0和NaN   其余都是true
  null和undefined都为false

隐式类型转换
可以通过对任意类型的数据取反两次 将其转换为布尔值

   var a=10;
   a=!!a;
运算符(操作符)

通过运算符可以一个或多值进行运算

算数运算符
        +
        -
        *
        /
        %
       规则和数学中的规则一致
       
       
一元运算符
 +(正号) -(负号)  ++   --  !    typeof  instanceof delete
二元运算符
 +(加号) -(减号) /  %  >  <   >=  <=  ==  !=  === !==   &&  ||   +=    -=  /=    %=  
 
三元运算符
?:    

加法运算符
如果两个操作数都是数字的话 进行加法计算
console.log(1+1)   //2
如果操作数中出现字符串 进行字符串拼接
console.log(1+"个苹果")  //1个苹果

除了加法运算符  其他算数运算符都将字符串类型自动转换成number类型 再进行计算
console.log("2"-"2")   //0
求余运算符
计算两个数整除后的余数   求余的结果是正数还是负数,与第一个操作数的正负有关
console.log(5%3)   //2
console.log(-5%3)  //-2
console.log(5%-3)   //2
console.log(-5%-3)  //-2
++
    自增
     自增可以使变量在原来的基础自增1
     自增分成前++(++a) 和 后++(a++)
     无论是++a 还是 a++都会使原变量立即自增1
     不同的是++a 和 a++的值不同
     ++a是变量自增后的值,新值
     a++是变量自增前的值,原值    
--
   自减
    自减可以使变量在原来的基础自减1
    自减分成前--(--a) 和 后--(a--)
    无论是--a 还是 a--都会使原变量立即自减1
    不同的是--a 和 a--的值不同
    --a是变量自减后的值,新值
    a--是变量自减前的值,原值
相等与不等
    ==与!=   只比较操作数的值  不比较类型

   consolel.log(10 =="10")   //true

   console.log(undefined == null)   //true   都表示空  所以输出为true
全等与全不等
    ===和!== 既比值 又比较类型
    console.log(10 ==="10")    //false 
    console.log(10 !=="10")    //true
isNaN()函数
    用于判断参数是否是非数字值  多用于检测转换后的结果是否为合法的数字值
    注:NaN与任何值进行比较 都是false   不能使用 == 或者 === 运算符判断  只能用isNaN()函数

   console.log(isNaN(parseInt("123abc")))    //true
   console.log(isNaN("123.456abc"))    //true
逻辑运算符 ! 逻辑非
        可以对一个布尔值进行取反操作
        如果对一个非布尔值进行逻辑非运算,会先将其转换为布尔值,然后再取反
        利用这个特点,可以为指定的值取两次反,来将其转换为布尔值。
&& 逻辑与
        可以对符号两侧的值做与运算
        如果对非布尔值做与运算,会将其转换为布尔值然后再运算,
        最终会返回原值
        如果第一个值是false,则直接返回第一个值
        如果第一个值是true,则返回第二个值
        js中的与运算是短路的与,如果第一个值是false,则不看第二个值    
|| 逻辑或
        可以对符号两侧的值做或运算
        如果对非布尔值做或运算,会将其转换为布尔值然后再运算,
        最终会返回原值
        如果第一个值是true,则直接返回第一个值
        如果第一个值是false,则返回第二个值
        js中的或运算是短路的或,如果第一个值是true,则不看第二个值


赋值运算符
    =
     =  将符号右侧的值赋值给符号左侧的变量
    +=
         a += 5 相当于 a = a+5
    -=    同+
    *=    同+
    /=    同+
    %=    同+
条件运算符(三元运算符)
    ?:
     语法:
        条件表达式?语句1:语句2
        
    -执行流程:
            三目运算符在执行时,会先对条件表达式进行求值判断,
            如果判断结果为true,则执行语句1,并将执行结果返回
            如果判断结果为false,则执行语句2,并将执行结果返回
            
            
            
    var salary =45000;
     
    var result=salary  >30000 ? console.log("中产阶级")   : console.log(" 小康");

条件运算符嵌套

    条件运算符中 每个表达式可以为另一个条件表达式  为条件运算符嵌套
    
    var age=24;
    var result=age >=60 ? console.log("老年") :(age >=30 ? console.log("中年"):(age >18 ?console.log("成年"):console.log("未成年")) )
    
    代码执行顺序:
         age>=60  不符合条件继续执行 age >=30 不符合条件继续执行 age >18 满足条件 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96695.html

相关文章

  • 一只前端小白JS note

    摘要:是一个运行在浏览器端的脚本语言现在已经不仅仅局限于浏览器端是一门解释型动态类型的语言解释型指语言在执行时不需要编译,由浏览器自动编译基本语法区分大小写是一种区分大小写的语言定义变量名称一般用小写定义常量名称一般用大写空格和换行中会 JavaScript - JavaScript是一个运行在浏览器端的脚本语言(现在已经不仅仅局限于浏览器端) - JavaScript是一门解释型、动态类型...

    chavesgu 评论0 收藏0
  • Java学习记录

    摘要:面向对象编程的三四大特征封装,继承,多态,抽象基础语法数组或字符串组或循环用来迭代选择类中构造方法的原则是只实现自己的功能是一个类字符串常量池是堆中的一个存字符串值的一个集合他的赋值方式有两种张三创建两个对象字符串常量池和堆内存中张 面向对象编程的三(四)大特征封装,继承,多态(,抽象) 基础语法: 数组(int[] a或 int a[])、字符串组(String []a或 Stri...

    idisfkj 评论0 收藏0
  • Python到底能做什么?

    摘要:数据科学包括机器学习,数据分析和数据可视化首先,机器学习是什么解释机器学习的最佳方法是给你一个简单的例子。机器学习算法的工作方式大致相同。这是一个人们竞争为特定问题构建最佳机器学习算法的网站。 showImg(https://segmentfault.com/img/remote/1460000018887722); 来源 | 愿码(ChainDesk.CN)内容编辑 愿码Sloga...

    Lionad-Morotar 评论0 收藏0
  • 2017-08-27 前端日报

    摘要:前端日报精选如何合理地设计的深入了解一个超快的引擎也称全面了解作用域源码分析二奇淫技巧总结整理下前端江湖面试对自己有益的题目。 2017-08-27 前端日报 精选 如何合理地设计Redux的State深入了解一个超快的 CSS 引擎: Quantum CSS (也称 Stylo) ★ Mozilla Hacks全面了解JS作用域Zepto源码分析(二)奇淫技巧总结整理下《前端江湖面试...

    itvincent 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<