美文网首页
2018-09-19js

2018-09-19js

作者: 满天繁星_28c5 | 来源:发表于2018-09-23 09:46 被阅读0次

1.数据类型转换

(1)强制类型转化

parseInt:将数字或者字符串转化整形。
parseFloat:将数字或者字符串转化为浮点型。如果转化的内容结果是整形,那么结果就是整形,不会是浮点型。

  • Number('内容'):结果只有两种,一种是数字型,一种是NaN。只要内容中有一个不是数字的字符,那么结果就是NaN。
    eg:
<script>
console.log(Number('abc'));//NaN number转化的一定是数字,而abc是字母所以出现的是NaN
</script>
  • String将内容转化成字符串类型。当使用string转化null,undefind,布尔值的时候会直接将这个原始的数据类型转暖为字符串。
    eg:
<script>
console.log(typeof String(123));
</script>

<script>
var a String(true );
console.log(typeof a);
a  =true ;
a ='true';
</script>
  • Boolean:把内容转化成布尔值。把任何内容转化成true和false

  • 转为布尔值false的情况(其他的都为true)
    undefind null false 0 NaN ''或者"" 空格符串

  • 总结:
    ①string类型,只要不是空字符,都会转化为true。
    ②number类型,只要不是0,即使是负数,都会转成true。
    ③object类型,只要不是null类型,都会转换成true。
    ④undefind类型,都会转换成false。

(2)隐式类型转化

  • 判断里面:都会将结果转化为布尔值。
    eg:
<script>
console.log(1==2);  false
console.log(3>2);  true
    var a= 'sa';
    if(isNaN(a)){
        console.log(a);
    }
    while('判断'){

    }
</script>
  • 具有字符串的加法:两边都要转化为字符串,就是字符串的拼接。
  • 数字与字符串比较大小:字符串要转化为数字。
    减法运算的时候,字符串要转化为数字。
  • 技巧:快速的实现字符串转化为数字,减0运算。
    eg:
<script>
var a = '764';
console.log(Boolean([]));  true
</script>

js的运算符

1.算数运算符:

(1).加法运算符:数字的加法,字符串的加法。

数字的加法就是要求简单的数字相加,要求加号两边都是数值类型。
字符的加法是字符串拼接,只要加号两边有一边是字符串,那么这个运算就是字符串的拼接。(字符串必须放在引号里面的。)

(2).减法运算符:数字的减法,会进行隐式类型转化,如果减号两边有一边不是数字,那么会自动转化为数字类型。
(3).乘法(*)与除法(/):就是简单的数字运算。

js里面除法运算的除数是可以为0.结果是无穷。Infinity

⑷.取余:余数运算。就是除法运算在得到结果为整数的情况下,被除数剩下的值。

eg:余数:5 2 2 ----1 5%2=1

<script>
console.log (3%2)   1
</script>
  • 注:取余运算的符号只与被除数有关,被除数是什么符号,余数就是什么符号。
(5).绝对值:某一个数字的正数值。

正数的绝对值就是它本身,负数的绝对值是它的相反数,0的绝对值就是0,
Math.abs()或取绝对值。
Math.pow()次方运算。
Math.random()随机数。
eg:

<script>
console.log (Math.abs(5))  ;   //5
console.log (Math.abs(-5))  ;  //5
console.log (Math.abs(0))  ;   //0
console.log (4.23%2.3)  ;   //1.888888888888888
</script>
  • 虽然浮点数也能够进行取余运算,但是极度不精确。建议不使用。

eg:
案例:用js实现表格的各行变色。

<body>
    <table id="myTable" border=1 cellpadding="0" cellspacing="0" width="800">
        <tr>
            <th>第一列</th>
            <th>第二列</th>
            <th>第三列</th>
        </tr>
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
        </tr>
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
        </tr>
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
        </tr>
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
        </tr>
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
        </tr>
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
        </tr>
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
        </tr>
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
        </tr>
    </table>
    <script>
    //获取
    var oTr = document.getElementsByTagName('tr');
    for(var i=0; i<oTr.length;i++){
        if(i%2 == 1){
            oTr[i].style.background = 'red';
        }else{
            oTr[i].style.background = 'green';
        }
        if(i==0){
            oTr[i].style.background = '#fff';
        }
    }
    </script>
</body>
  • 自增与自减运算:
    i++: 对i加一然后结果赋值于i。和i=i+1操作一样。
    i--: 对i减一然后结果赋值给i。和i=i-1操作一样。
    ++i: 对i加一然后结果赋值给i。和i=i+1操作一样。
    --i: 对i减一然后结果赋值给i。和i=i-1操作一样。
  • 区别:
    如果自增自减运输参与其他运算,那么后加加要先参与运算,然后在自增或者自减。前加加先自增或者自减,然后再参与运算。
    eg:
<script>
var i = 1;
console.log(i);  //1
console.log(i+ i++);   //2
console.log(i+ (++i));   //3
console.log(++i + i +i++  + i + ++i);   //13
            2 + 2
               4      2
                   6          3
                          9           4
                              13

</script>
(6).乘方运算(**):8^2

3*2=9
eg:

<script>
    console.log(3**2);
</script>
(7).赋值运算(赋值运算符:):=

var a = 1;
a=a+2;===>a+=2;
+=(加等)
-=(减等)
*=(乘等)
/=(除等)
%=(余等)

2.2 关系(比较)运算符:

(1)< 小于
(2) >大于
(3)>=大于等于
(4)<=小于等于

  • ==判断值是否相同
  • ===判断值与练习是否相同
  • !=判断值是否相同
  • !==判断不全等
  • 这些比较运算符一般都是使用需要判断的地方,比如说if,while等小括号,返回值一定是一个布尔值。
    eg:
<script>
console.log(3>2);   //返回值是true
console.log(3>'60');   //返回值是false
</script>
  • 如果是数字与字符串进行比较,那么字符串会自动的 转化数字进行比较。
    如果是两个字符串进行比较那么先比较第一个字符,第一个字符大的字符串大,第一个字符相同再比较第二个字符。

eg:

<script>
console.log('abc'>'adc');   //返回值是false(abc>adc是错的)
console.log('a'>'ad');   //返回值是false
</script>
  • NaN与任何值相比较都是false(不论怎么比大小,都是false)
  • Unicode编码:Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
  • NaN与任何值相比较都是false(不论怎么比大小,都是false)

2.3 逻辑运算符

  • && 与 ,符号两边的条件同时符合才会返回true
  • || 或 ,符号两边只要有一边符合条件就会返回true。
  • ! 非, 取反true转化为false,false转化为true。
    eg:
<script>
    if(3>2){
        console.log('亮灯');  //会亮灯
    }
    if(3>2 && 6>7){
        console.log('亮灯');  //不会亮灯
    }
</script>
<script>
    if(3>2){
        console.log('亮灯');  //会亮灯
    }
    if(3>2 || 6>7){
        console.log('亮灯');  //会亮灯
    }
</script>
  • 短路运算:
    当逻辑判断操作前面的运算已经得出最终结果的时候,后面的操作就不在执行。
    具体指"或"操作的第一个判断返回true,"与"操作的第一个判断返回false。
    eg:
  • ! 或的短路运算
<script>
    var i = 10;
    if(4>2 || 10 > ++i){
        console.log(i)  //此时console.log(i)并没有执行,因为前面的代码已经将结果得出了。
    }
</script>

eg:

  • !与的短路运算
<script>
    var i = 10;
    if(4>2 && 10 > ++i){

    }console.log(i)
</script>

2.4三元运算符。

  • 三元:三个操作数
  • 自增,自减:一元操作符。 i++
  • ==, >:二元操作符。 a>b;
  • ?:三元操作符。条件?操作1:操作2;
    类似于:
    if(){
    操作1;
    }else{
    操作2;
    }
    eg:
<script>
var a = 11;
if(a>10){
    consoli.log(a);
}else{
    console.log(10);  //返回的值是11
}
* 三元运算
  a>10? consoli.log(a):console.log(10);   //返回的值是11
  var c = a>10? 11:12;
  console.log(c);  //当a>10时,将11赋值给c得出 c等于11;
 *  当a不大于10时,将12赋值给c 得出12。
</script>

相关文章

  • 2018-09-19js

    1.数据类型转换 (1)强制类型转化 parseInt:将数字或者字符串转化整形。parseFloat:将数字或者...

网友评论

      本文标题:2018-09-19js

      本文链接:https://www.haomeiwen.com/subject/jqtinftx.html