/** * &&与(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("基础扎实") }
笔记
最新推荐文章于 2024-08-22 14:03:32 发布