Python全栈最全学习之路-WEB前端(五)

JavaScript提升

一、JS操作符

算术运算符:
算术运算符(基础数字运算)+ - * / %
当不上数字之间的运算的时候,+号两边一旦有字符串(引号引起来的部分),那么+号就不再是数学运算了,而是拼接,最终结果是字符串。

- / * %尽量将字符串转换成数字(隐式类型转换)
NaN:Not a Number number

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>JS算术运算符</title>
</head>
<body>
<script>
   var a = 1;
   var a = "a";
   var b = 3;
   var c = a + b
   // 当不是数字之间的运算,+号两边一旦有字符串,那么+号就是拼接,最终结果是字符串。
   // var c = a + b // NaN: Not a Number
   console.log(c)
   console.log(typeof c)
</script>
</body>
</html>
```![在这里插入图片描述](https://img-blog.csdnimg.cn/2020091709385061.png#pic_center)
` 赋值运算符:`
` += -= *= /= = `这些是基本的赋值运算符,除此之外还有`++ --`,这两个都存在隐式类型转换,会全部转成数字
```html
<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>JS运算符</title>
</head>
<body>
<script>
   // 算术运算符
   // var a = 1;
   // var a = "a";
   // var b = 3;
   // var c = a + b
   // 当不是数字之间的运算,+号两边一旦有字符串,那么+号就是拼接,最终结果是字符串。
   // var c = a + b // NaN: Not a Number
   // console.log(c)
   // console.log(typeof c)
   // 赋值运算符
   var nu = 1;
   nu += 5;
   console.log(nu);
   var na = 6;
   var nb = na ++ // nb = na; na = na + 1;
   console.log(na,nb);
   var nb = ++ na // na = na + 1; nb = na
   console.log(na,nb)
</script>
</body>
</html>

在这里插入图片描述
比较运算符:
> < != >= <= == ===
如果等号两边都是boolean、string、number三者中任意两者进行比较时,优先转换为数字进行比较。
如果等号两边出现了null或undefined,null和undefined除了和自己相等,就彼此相等
NaN == NaN返回false,NaN和所有值包括自己都不相等。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS运算符</title>
</head>
<body>
<script>
    // 算术运算符
    // var a = 1;
    // var a = "a";
    // var b = 3;
    // var c = a + b
    // 当不是数字之间的运算,+号两边一旦有字符串,那么+号就是拼接,最终结果是字符串。
    // var c = a + b // NaN: Not a Number
    // console.log(c)
    // console.log(typeof c)
    // 赋值运算符
    // var nu = 1;
    // nu += 5;
    // console.log(nu);
    // var na = 6;
    // var nb = na ++ // nb = na; na = na + 1;
    // console.log(na,nb);
    // var nb = ++ na // na = na + 1; nb = na
    // console.log(na,nb)
    // 逻辑运算
    var bo = true && false;
    console.log(bo,typeof bo);
    var ba = 1 && true && true; // 遇到假就停
    // var ba = 1 && true && 3; // && 不会把内容转换成布尔值
    console.log(ba,typeof ba)
    var bc = 0 || false || true;
    // var bc = 0 || false || 5; // 同样不会转换,遇到真就停
    console.log(bc,typeof bc);
    var bn = !3 // 隐式类型转换,将后面的数据先转换为布尔值再取反
    console.log(bn,typeof bn);
</script>
</body>
</html>

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS运算符</title>
</head>
<body>
<script>
    // 算术运算符
    // var a = 1;
    // var a = "a";
    // var b = 3;
    // var c = a + b
    // 当不是数字之间的运算,+号两边一旦有字符串,那么+号就是拼接,最终结果是字符串。
    // var c = a + b // NaN: Not a Number
    // console.log(c)
    // console.log(typeof c)
    // 赋值运算符
    // var nu = 1;
    // nu += 5;
    // console.log(nu);
    // var na = 6;
    // var nb = na ++ // nb = na; na = na + 1;
    // console.log(na,nb);
    // var nb = ++ na // na = na + 1; nb = na
    // console.log(na,nb)
    // 逻辑运算
    // var bo = true && false;
    // console.log(bo,typeof bo);
    // var ba = 1 && true && true; // 遇到假就停
    // // var ba = 1 && true && 3; // && 不会把内容转换成布尔值
    // console.log(ba,typeof ba)
    // var bc = 0 || false || true;
    // // var bc = 0 || false || 5; // 同样不会转换,遇到真就停
    // console.log(bc,typeof bc);
    // var bn = !3 // 隐式类型转换,将后面的数据先转换为布尔值再取反
    // console.log(bn,typeof bn);
    // 比较运算符
    1 != 1
    1 == 1  // 等值符,当等号两边的类型相同时,直接比较值是否相等
    1 == '1' // 若不相同,则先转化为类型相同的值,再进行比较;
    1 === 1 // 等同符,当两边值得类型相同时,直接比较值
    1 === '1' // 若类型不相同,直接返回false;
    null == undefined
    NaN == NaN
</script>
</body>
</html>

二、JS流程控制

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS流程控制</title>
</head>
<body>
<script>
    var weather = 'sunny';
    if (weather === 'rain'){
        console.log('reading');
    }else if (weather === 'sunny'){
        console.log('shopping');
    }else{
        console.log('sleep');
    } // 有花括号结尾的地方,可以不用加;
    // 简化写法
    if (weather) console.log(weather);
    var a = 1;
    a>1?2:3; // 表达式?为真的值:为假的值
    a>=1?2:3;
    switch (weather) {
        case "rain":
            console.log("reading");
            break; // 如果不加break,那么最后则会运行default
        case "sunny":
            console.log("shopping");
            break;
        default:
            console.log("sleep");
            break;
    }
</script>
</body>
</html>

在这里插入图片描述
JS中流程控制是if判断和switch选择

三、JS循环

for循环

for(initialize;test;increament){
statment}

js中的for循环相当于while的简写,更加方便
for in
JS中的for也支持类似于Python中的用法,可以遍历对象所有的属性
while循环

while(expression){
	statement
}

while是一个基本的循环语句,expression为真的时候,就会执行循环体
do/while循环
do/while和while类似,只是会先执行一个循环

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS循环</title>
</head>
<body>
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
</ul>
<script>
    // while和do/while循环
    // var count = 0;
    // while (count < 10){ // while用法和Python中基本类似
    //     document.write(count);
    //     count++
    // }
    // var i = 0;
    // var j = 10;
    // var sum = 0;
    // do { // do/while和循环非常相似,只不过它是在循环的尾部而不是顶部检测循环表达式
    //     sum += i * j; // 循环会至少执行一次
    //     i ++
    // }while(i < 10); // 实际使用中,那种必须要循环一次的情形并不多见
    // document.write(sum);
    // for循环
    // for(var i = 1;i<9;i++){
    //     for (var j = 1;j < 3;j++){
    //         document.write(i,j);
    //     }
    //     if(i == 5){
    //         break;
    //     }
    // }
    // var aLi = document.getElementsByTagName('li');
    // for (var i = 0;i < aLi.length;i++){ // i全局变量
    //     aLi[i].index = i;
    //     aLi[i].onclick = function(){
    //         alert(this.index);
    //     }
    // }
  /*  for(let i = 0;i < aLi.length;i++){ // 块级作用域
        aLi[i].onclick = function(){
            alert(i);
        }
    }*/
  var array = [1,2,3,4,5];
  for(var i in array){
      document.write(i,array[i]);
  }
</script>
</body>
</html>

在这里插入图片描述

四、JS字符串方法

长度:length
切片:slice
索引:indexOf
分隔:split
截取:substring
替换:replace

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS字符串方法</title>
</head>
<body>
<script>
    var st = 'this is string';
    document.write(st);
    document.write(st.length);
    document.write(st[2]); // 和python类似
    // str[0] = 'S' // 同样也是不可更改的
    document.write(Object.keys(st));// 查看对象的方法
    var nu = 123;
    document.write(typeof nu.toString()); // 转变成字符串
    document.write(st.substring(1,5)); // 字符串截断
    document.write(st.slice(1,5)); // 字符串切片
    document.write(st.split('t'));// 分割
    document.write(st.indexOf('i')); // 查找,没有返回-1
</script>
</body>
</html>

五、数组方法

长度:length
追加:push
添加:unshift
删除:pop、shift
查找:indexOf
改:slice、join、sort、reverse

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>数组方法</title>
</head>
<body>
<script>
    var arr = [1,2,3,4,5];
    console.log(arr.length); //长度
    arr.push('Python',"JS"); // 追加
    console.log(arr);
    arr.unshift("JavaScript"); // 添加
    console.log(arr);
    arr.pop(); // 后删
    console.log(arr);
    arr.shift(); // 前删
    console.log(arr);
    console.log(arr[1]); // 索引查找
    console.log(arr.indexOf(1)); // 查找元素
    arr[2] = 200;  // 修改元素
    console.log(arr);
</script>
</body>
</html>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值