笔记

/**
 *  &&与(if中为并且,全真才为真
 * undefined .null. NaN, “”,0.false  ==> false
 * 这几个转化成布尔都是false,其余都为true
 */

 /**
  * && 如果 && 左边的表达式返回值为真,那么直接返回&&右边的返回值
  */
  var a = 1+2+3+4+5 && 1+1; //2

/**
 * 如果 && 左边的表达式返回值为false,那么直接返回左边的值(注意不是返回false
 */
 var a =a && 1+1;//undefined

  /**
   * 如果是多个表达式  如果左边为真就继续 为假就直接返回左边的值
   */
  var a = 0&&1&&1    //0
  var a = 1&&1&&1    //1
  var a = 1&&0&&1    //0
   /**
   * 短路语句
    * 如果没有data则不执行后面的语句
   */
   var data = "xxxxx"
  data && function xxx(){}

/**
 *  ||或   有一个真的就行(if中判断为或者 即在if判断中有一个条件成立都为true
 *  undefined .null. NaN, “”,0.false  ==> false
 * 这几个转化成布尔都是false,其余都为true
 *
 *  跟&&相反 如果 || 左边的表达式返回值为真,那么直接返回||左边的返回值
 *  跟&&相反 如果 || 左边的表达式返回值为假,那么直接返回||又边的返回值
 *  (值:假如是undefined就返回undefined 不返回false
 */
var a = 1
if(a==1||a==2){
    document.write(1111111111)  //true
}
  function aaa(e){
      //非IE的e有事件,ie中e事件储存在window.event中
      var event = e|| window.event
}
/**
 * 2的n次幂
 * @type {number}
 */
   var n = 3; //假如n=2
   var count = 1 //起始值值为1原因如下 如果count设置成2就写成i<n-1
   // 1 * 2   2的1次幂
   // 1 * 2 * 2 2的2次幂
   // 1 * 2 * 2 * 2 2的3次幂
   for(var i=0;i<n;i++){
       count*=2
   }
/**
 * 阶乘
 * 5!  5*4*3*2*1
 */
var sum = 1
n不能小于等于0
for(var i =1; i<=n;i++){
sum*=i
}
   var a  = 257 ;
   var b = a % 10; //个位数
   var c = (a-b)%100/10; //十位数
   var d = (a-c*10-b)/100; //百位数
   var count = b*100+c*10+d; //752

/**
 * 斐波那契数列
 * 某一位等于前两位之和
 * 例子: 1 1 2 3 5 8 13
 */
   var one = 1, //第一位
       two = 1, //第二位
       three;   //值
   var n = 7; //求第几位的值,如第五位要循环三次所以i<n-2
   if(n>2){ //若小于2 n-2为0返回false 循环停止
       for(var i=0;i<n-2;i++){
           three = one + two ;
           one = two ; //更新第一位
           two = three; //更新第二位
       }
   }
/**
 * 找出100以内质数
 * 只能被1和本身整除,也就是%=0 只有两个数
 */
   var count = 0;
   for(var i=1;i<100;i++){ //1~99
       for(var j=1;j<=i;j++){ //循环取余 例子: 3%1  3%2 3%3
           if(i%j==0){
               count++
           }
       }
       if(count==2){
           document.write(i + " ")
       }
       count = 0 //每个count对应一个i 所以清零
   }
/**
 * switch case
 * 利用可以向下漏的原则,重复的可以省略一部分
 */
   var n = 90;
   switch (n){
       case 100 :
       case 90 :  //document.write("好学生");break;
       case 80 :
           document.write("好学生");
           break;
       case 70 :
       case 60 :
           document.write("一般学生");
           break;
   }
打印1-100
   var i = 0;
   while(1){
       i++;
      document.write(i+"</br>")
       if(i == 100){
           break
       }
   }

/**
 * typeof
 * number string boolean undefined object function
 * null属于object
 */
var num = 2 * "3"
console.log(typeof (num)+":"+num); //number 6
var num = 2 * "a"
console.log(typeof (num)+":"+num); //number NaN

/**
 * 显示类型转换
 */
/**
 * Number
 */
var demo = "asdasdasd";
var num = Number(demo);
console.log(typeof (num));//number
  number(null)  //number 0
/**
 * parseInt
 */
var demo = "101010";
var num  = parseInt(demo,2) //只能填2-36  代表进制  比如 2 8 16
  document.write(num)  //170
  var demo =  "100px"
  var num = parseInt(demo);
document.write(num) //100
/**
 * paseFloat
 */
var demo = "100.2.3";
var num  = parseFlpatdemo)
  document.write(num)  //100.2
  var demo =  "101231230pxasdsadasd"
  var num = parseInt(demo);
document.write(num) //101231230
/**
 * String
 */
var demo = ture;
var num = toString(demo)
document.write(num)  //"true"
/**
 * boolean
 * undefined,0,false,null,NaN, "" 这六个转化都为false
 */
var demo  = 123;
var num = Boolean(demo); //true
/**
 * tostring
 */
var demo = 123
  var num = demo.toString() //"123"
var demo = 10
var num = demo.toString(8) //"12" 把10转换成8进制 string
  注意
  undefined与nullbunengyong toString()方法  会报错
/**
 * 隐式类型转换
 */
/**
 *  ++  --    +/-  > < ==  && || !
 */
  var a = "123";
  a++  //number  124
  undefined > 0 //false
  undefined < 0 //false
  undefined = 0 //false
  null > 0 //false
  null = 0 //false
  null < 0 //false
  undefined == null //true
var str =  false + 1; //1 false隐士类型转换成0
document.write(str);
var demo = false ==1;  //1 false隐士类型转换成0
document.write(demo);

if(typeof (a)&& - true + (+undefined)+""){
    //typeof (a) == "undefined"  -true == -1 +undefined==NaN  NaN+""== "NaN"
    // "undefined" && "NaN"  两个string 转化为两个true
    document.write("基础扎实")
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值