zoukankan      html  css  js  c++  java
  • javascript教程系列-2.javascript 基本使用

    转载请标明出处!
     

     
    逻辑运算
     
     
     
          一门计算机语言,编程的核心在于逻辑思想,当我们在编写程序的时候,逻辑是否通顺,是能否正确写出程序的关键,可以说如果你掌握了逻辑,那么你就踏入了计算机编程的大门。
     
    &&与 || 或 !否
     
    逻辑 与 &&
     
    var a=0,b=3;
     
    alert(a==0&&b==3) //true;
     
    alert(a==1&&b==3)//false;
     
    他的返回值是布尔类型,当两个判断条件都成立的时候,那么整个语句返回true。如果有一个不成立那么返回值为false;
     
    逻辑 或 ||
     
    var a=0,b=3;
     
    alert(a==1||b==3) //true;
     
    alert(a==0||b==4)//true;
     
    alert(a==10||b==40)//false;
     
    他的返回值是布尔类型,当判断条件中有一个成立的时候,那么整个语句返回true。如果全部不成立那么返回值为false;
     
    逻辑 否 !
     
    var a=0,b=3;
     
    alert(a!=1) //true;
     
    alert(b!=3)//false;
     
     
    他的返回值是布尔类型,当判断条件不成立的时候,那么整个语句返回true。如果成立那么返回值为false;
     
    自增
     
     
     
     
          全国人民的干爹,但是在马云创业之前,他泯然众人,如果他不创业那?如果他不创建阿里那?他现在可能还是之前的样子。
     
          所以,在特定的时间点上,在经历过特殊的事情之后,人才会改变。
     
    a++ ,a-- 他的返回值是 a本身,因为浏览器的解析顺序是从上到下从左到右,当我们读取到该语句的时候,首先被解析的就是变量a,他还没有进行任何运算,所以此时该语句的结果为变量a。
     
    var a=1;
     
    alert(a++);//1;
     
    alert(a++);//????
     
    ++a ,--a 同理,因为解析顺序问题,当解析器
     
    alert(++a);//2
     
     
    NaN(一个自己都和自己不一样的特殊数字类型,表示不是数字的数字)
     
         
     
        alert(NaN==NaN)//false
     
        var a=0;
        var b;
        var c=a+b
     
        alert(c);
     
        //isNaN(num)函数,该函数判断num变量的值是否是NaN
     
        alert(isNaN(c));
     
     
     
    Number()方法 toFixed()方法
     
    Number对任意类型的数据进行强制类型转换,转换结果为数字。
     
    alert(Number(true)); //1,Boolean 类型的 true 和 false 分别转换成 1 和 0
    
    alert(Number(25)); //25,数值型直接返回
    
     
    alert(Number(null)); //0,空对象返回 0
     
    alert(Number(undefined)); //NaN,undefined 返回 NaN
     
    var a=1.22222
     
    a.toFixed(2)//返回值是1.22
     
    a//1.22222
     
    如果是对象,则在转换数字失败后,调用toString方法获得返回值;
     
    var box = {
        toString : function () {
           return '123'; //可以改成 return 'abc' 查看效果
        }
    };
    alert(Number(box)); //123
     
    创建对象(Object)类型
     
    两种方式创建
     
    1.var obj=new Object();
     
     2.var obj={
             
     }
     
     
    parseInt()和parseFloat();
     
    同样是强制转换数据,他们之间有什么不同那?
     
    parseInt()该方法从左到右检测数字或字符串中第一个不为数字的字符,并把之前的所有进行返回,如果字符串中第一个就不为数字那么返回NaN;
     
    例:
    1.parseInt('123abc') a为第一个不为数字的字符;返回a之前的所有值,则该方法的返回值为123。
    2.parseInt('abc123')a为第一个不为数字的字符,并在字符串开头位置,则判定该字符串无法转换为数字返回NaN;
     
    parseFloat()该方法,检索数字或字符串后面第一个.后的不为数字的字符,并对之前所有的结果进行返回,如果第一个字符不为数字,那么返回NaN。
     
    例:
    1.parseFloat('123.123.123abc').第一个.后不为数字的字符那么,返回之前的字符,该方法返回123.123
     
     
    程序的三大结构:
     
    1.顺序结构
     
     
    2.选择结构
     
        
    3.循环结构
     
                  
    if(){}判断语句
     
     
    if(true){
         
          //执行该语句    
     
    }
     
    if(false){
         
          //跳过该语句   
     
    }
     
    if(ture){ //当if括号中结果为true时执行语句1,否则执行语句2
     
         //语句1
     
    }else{
     
         //语句2
    }
     
    if()括号中的东西我们通常叫它逻辑点。
     
    一个奇葩问题
     
    if(//在这个括号里会发生各种各样奇奇怪怪的事情)
     
    if(1){
         
         alert('看我弹出来给你看')
     
    }
     
    感觉怪怪的:
     
    1.if括号里填什么来着???
     
    2.1是true么?
     
    为什么会发生这样的事情那?在一些特定情况下,计算机会进行隐式类型转换。他和强制类型转换(Number)不一样,他不需要你做些什么,会自动对数据类型进行转换。
     
    在 运算中,和if(括号中),会发生隐式类型转换。
     
    1.运算中的隐式类型转换:
     
    var a='1' ,b=2;
     
    a+b=???
     
    +运算符有两种含义,第一层含义是数学中的+运算,第二层含义是字符串拼接,优先运算字符串拼接,所以在检测到加好左右两边存在字符串的时候,会将运算符左右两边的数字都转换成字符串再进行运算。
     
    a-b=???
     
    除了+运算符具有两层含义以外,- * /只有数学意义,所以当进行- * /运算的时候默认会将运算符两侧的数据类型隐式转换为数字类型,再进行运算。
     
    2.if(括号中的)隐式类型转换。
     
    我们都知道,if括号中只需要布尔类型值。那么在if判断中,所有的数据类型都会被隐式转换为布尔类型。
     
    if(非零数字都被转换成ture、非空字符串都转换成true),存在两条基础规则,其余规则在今后学习中慢慢发掘。
     
     
    alert(1==true);//true
     
     
     
     
    switch();
     
    switch(语句){
        case 0:alert(1);
        break;
        case 2:alert(2);
        case 3:alert(3);     
        default:alert(10)
    }
     
    案例:成绩判定、显示星期几。
     
     
     
    注意switch的应用场景(有多个确定值需要判断的时候);
     
    注意case穿透,要加break语句(如果程序没有发现break语句,那么解析器会继续向下解析);

     

  • 相关阅读:
    Python菜鸟之路:Python基础-线程、进程、协程
    Python菜鸟之路:Python基础-Socket编程-2
    Python菜鸟之路:Python基础-Socket基础-1
    react-native 使用 antd-mobile-rn UI进行开发app
    Java基础
    Java基础
    Java基础
    Java基础
    Java基础
    Java基础
  • 原文地址:https://www.cnblogs.com/wangzhichao/p/9257832.html
Copyright © 2011-2022 走看看