python第五十四天 javascript语法 1.运算符 2. 流程控制 3. 函数 4. 四种变量 5. 数据类型的运用 6. js页面交互

1.运算符

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>

<script>
    let n1 = 5;
    let n2 = 2;
    let res = n1 / n2;
    console.log(res);

    // 将数字转换成整数,只取小数点前面的整数
    res = parseInt(res);
    console.log(res);
    // 也可以提取字符串中的数字,但是只能匹配到以数字开头的字符串,并且遇到不是数字的其他字符就停止
    console.log(parseInt(‘12abc‘));  // 结果 12
    console.log(parseInt(‘12.5abc‘));   // 结果 12

    // 自增与自减  ++自增1 --自减1
    console.log(n1);
    // ++ 在前优先级最高,++在后优先级最低(比赋值符=还低)

    // res = n1++;  会先将 n1 的值赋值给res ,n1自身再自增1
    console.log(res, n1); //结果是 res:5  n1:6

    // res = ++n1;  会先将n1的值自增1.然后再将自增后的n1赋值给res
    console.log(res, n1); //结果是 res:6  n1:6

    //逻辑运算符
    let x = 10;
    // 与   0 与 ++x 一边得到false,就是false. 判断条件类似python中的and
    res = 0 && ++x;  // 都成立 获得 0 11
    res = x > 11 && ++x; //左边不成立,获得 false 11
    console.log(res, x);

    // 或  100 || ++x  一边成立获得true,判断条件类似python中的or
    // res = x > 11 || ++x; //true 11
    res = x > 9 || x++;
    console.log(res, x);

    // 非 !
    console.log(n=!x)

    // 三元运算符
    //公式 --->   条件 ? 结果1 : 结果2
    res = 10 == ‘10‘ ? ‘相等‘ : ‘不相等‘;
    console.log(res)

</script>
</html>

2.流程控制

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    // 顺序 分支 循环
    `if (条件) {
    } else if (条件) {
    } else {
    }
    `;

    // 公式:parseInt(Math.random() * (max - min + 1)) + min
    let num = parseInt(Math.random() * (40 - 10 + 1)) + 10;
    if (num >= 30) {
        console.log(‘数字超过30‘)
    } else if (num >= 20) {
        console.log(‘数字超过20‘)
    } else {
        console.log(‘数字超过10‘)
    }

    //循环
    `
    while (条件) {
        循环体
    }
    `;
    let count =1;
    while (count < 100) {
        if (count % 8 == 0){
            console.log(count)
        }
        count++
    }

    `
    for (循环初始值1;循环条件2;循环增量3) {
            循环体4;
    }
    循坏顺序,设定初始值1 --> 查看循环条件2 --> 循环体4 --> 增加循环增量3
              --> 查看循环条件2 --> 循环体4 --> 增加循环增量3  (此步骤只要循环条件成立会无限循环,直至条件不满足跳出)
    `;
    `
    do {
    } while (条件)
    `;
    count = 0;
    do {
        console.log(‘循环体,会先执行‘);
        count++
    } while (count < 3);

</script>
</html>

3.函数

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1 id="hhh">函数</h1>
</body>

<script>
(function () {

     `函数的定义
     function 函数名(参数列表) {
        函数体;
        return 返回值
     }
     function: 定义函数的关键字
     函数名:使用函数的依据,就是一个变量,可以赋值给其他变量,也可以存储在容器中,也可以作为函数的参数与返回值
     参数列表:都是按位置传,形参与实参个数不需同意,但一定是按位置赋值,(传与收都没有限制)
     函数体:完成功能的主体代码
     返回值:只能返回一个值

     `;
     function fn() {
         console.log(‘fn run‘);
         return 1
     }

     let res = fn();
     console.log(res);
     let func = fn;
     func();

     function my_fn(a,b) {
         console.log(‘参数‘,a,b)
     }
     my_fn(); // 你收我不传,不显示
     my_fn(10); // 你收我传的不够,只显示传的值
     my_fn(10,20,30); // 传的比收的多,按位置赋值,溢出的值不接受

    `匿名函数
    function () {
        // 不指定名字的函数就是匿名函数
    }
    `;
    // 需求需要一个函数地址,就可以传入一个匿名函数
    function fn100() {
        fn()
    }
    fn100(function () {console.log(‘传入的匿名函数‘)});

    //直接用变量接受匿名函数:第二种声明函数的方式,
    let f = function (a,b) {
        console.log(‘fffff‘)
    };
    f();

    // 为事件提供方法
    hhh.onclick = function () {
        console.log(‘body-h1 被点击了‘)
    };

    // 匿名函数自调用:一次性私使用

     (function (a,b) {
         console.log(‘匿名函数自调用:‘,a,b)
     })(10,20,30);
     let abc = 10;

     hhh.onclick = function () {
         console.log(abc)
     }
})()

</script>
<script>
    abc = 20
</script>
</html>

4.四种变量

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    // if (true) { // 块级作域
    // let a = 10;
    // const b = 20;
    // var c = 30;
    // d = 40;
    // }
    {
        let a = 10;
        const b = 20;
        var c = 30;
        d = 40;
    }

    // console.log(a); // 有{}就不能被外界访问
    // console.log(b); // let和const有块级作用域,不允许重复定义
    // console.log(c); // var没有块级作用域,但有局部作用域,可以重复定义
    // console.log(d); // 没有关键字声明的变量是全局变量,在函数内部声明的外部也可以用

    (function () {
        let aa = 100;
        const bb = 200;
        var cc = 300;
        dd = 400;
    })();
    console.log(dd);

</script>
</html>

5.数据类型的运用

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>数据类型的应用</h1>
</body>
<script>
    // 字符串
    // 1) 定义:
    let ss = ‘123abc呵呵‘;
    let res;
    console.log(ss);

    // 2)索引
    res = ss[0];
    console.log(res);

    // 3)切片,设定一个起始位置与结束位置
    res = ss.slice(3,6);
    console.log(res);

    // 4)替换
    res = ss.replace(‘abc‘,‘ABC‘);
    console.log(res);

    // 5)拆分 :string => array
    res =ss.split(‘‘);
    console.log(res);

    // 6)拼接,只能字符串拼接
    res = ss + ss;
    console.log(res);

    // 7) 迭代
    for (s of ss) {
        console.log(s)
    }
    // 数组
    // array => string
    let arr = [3,1,2,4,5];
    res = arr.join(‘‘); // 默认, | ‘‘ | ‘自定义符合‘
    console.log(res);

    // 迭代
    for (a of arr) {
        console.log(a)
    }

    // 排序
    // arr.sort()  # 正序
    // arr.reverse # 反序

    // 增删改查
    console.log(arr[4]);  // 查,按索引查找
    arr[4] = 555;         // 改  按索引从新赋值
    console.log(arr[4]);

    arr.push(100);        // 从列表的尾部增加
    arr.unshift(200);     // 从列表的头部增加
    console.log(arr);

    // 重点:增删改

    arr.pop();            // 从列表的尾部删除
    arr.shift();          // 从列表的头部删除
    console.log(arr);
    // 1.起始索引  2.操作的长度   3.操作后的结果(不定长0~n个)
    arr.splice(2,1,222,333,444);   // 结果 [3, 1, 222, 333, 444, 4, 555]
    console.log(arr);

    // 不定长参数,  在函数传参的括号内输入 ... 来表示此参数是一个不定长参数
    function f(...a) {
        console.log(a)
    }
    f(1,2,3,4,5,6,7,8)

    // 字典
    // 增删改查
    dic = {};

    // 增
    dic[‘name‘] = ‘owen‘;
    dic.age = 18;
    console.log(dic);  // {name: "owen", age: 18}

    // 改
    dic.age = 20;
    console.log(dic);  // {name: "owen", age: 20}

    // 对象的删除
    delete dic.age;
    console.log(dic);  // {name: "owen"}

    // 查,使用.方法
    // console.log(dic.name);

    // 字典的迭代用 for in  ,只能取到key, 无法取到value. 取到的key是一个字符串
    for (k in dic) {
        console.log(k)
    }
</script>
</html>

6.js页面交互

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        h1 {
            background-color: orange;
        }
        h2 {
            background-color: darkgrey;
            cursor: pointer;
        }
    </style>
</head>
<body>

<h1 id="hhh" style="font-size: 30px" owen="Owen" >
    <i>js页面交互</i>
</h1>

<h2 class="hh2">副标题1</h2>
<h2 class="hh2">副标题2</h2>

<img src="" alt="">

<input type="text" value="12345">
</body>

<script>
    // 鼠标事件

    // let h1 = document.querySelector(‘h1‘);   // 选择体格符合的标签,并赋值
    //
    // // onclick      鼠标单击时发生的事件
    // // ondblclick   鼠标双击时发生的事件
    // // onmouseover  鼠标移动到目标时发生的事件
    // // onmouseleave 鼠标离开目标时发生的事件
    // // onmousemove  鼠标移动时发生的事件
    // // onmousedown  按下鼠标时发生的事件
    // // onmouseup    鼠标抬起时发生的事件
    //
    // h1.onclick = function (ck) {
    //     console.log(ck); // 鼠标在点击h1时,打印包含着鼠标的相关信息
    //
    //     // 鼠标点击h1时,会打印鼠标在页面中的坐标
    //     console.log(ck.clientX,ck.clientY);
    //
    //     // 特殊按键,例如,当按下alt,ctrl,shift 的时候 会打印true 不按时会打印false
    //     console.log(ck.altKey,ck.ctrlKey,ck.shiftKey);
    // };
    //
    // // 找到  h2 的位置,
    // h2 = document.querySelector(‘h2‘);
    //
    // // 设置将鼠标放置h2标签上时,h1显示文本
    // h2.onmouseover = function () {
    //     h1.innerText = ‘h2被悬浮了‘;
    //     h1.style.color = ‘green‘
    // };
    // // 再设置将鼠标拿开时,h1再次更改文本
    // h2.onmouseleave = function () {
    //     h1.innerText = ‘h2被放开了‘;
    //     h1.style.color = ‘red‘;
    // };
    //
    // let count = 1;
    // h2.onmousemove = function () {
    //     ++count;
    //     h1.innerText = ‘鼠标在h2移动‘ + count + ‘次‘;
    //     this.innerText = ‘鼠标在h2移动‘ + count + ‘次‘;  // this 表示自身标签
    // };

    // 为某个标签绑定事件。去控制页面中的任何一个标签(绑定事件中的this就代表自身)

    // 键盘事件

    // keyCode 键盘按键
    //
    // 只要在窗口下,点击鼠标就可以触发
    // document.onkeydown = function (ck) {
    //     console.log(ck.keyCode);
    //     if (ck.keyCode == 37) {
    //         console.log(‘你按了键盘左键‘);
    //     } else if (ck.keyCode == 38) {
    //         console.log(‘你按了键盘上键‘);
    //     } else if (ck.keyCode == 39) {
    //         console.log(‘你按了键盘右键‘)
    //     } else if (ck.keyCode == 40) {
    //         console.log(‘你按了键盘下键‘)
    //     }
    //     console.log(ck.altKey);
    //     // 连接键,ctrl + keyCode==13(enter键)
    //     if (ck.ctrlKey && ck.keyCode == 13) {
    //         console.log(‘留言‘);
    //     }
    // };

    // 对input框中的输入记录键盘的操作
    // let inp = document.querySelector(‘input‘);
    // inp.onkeydown = function (ck) {
    //     console.log(ck.keyCode)
    // };

    // 表单事件
    // let inp = document.querySelector(‘input‘);
    // let h22 = document.querySelector(‘h2:nth-of-type(2)‘); // 使用伪类选择器定位到h2标签的第二个
    //
    // // onchange 当input 失去焦点才会触发 oninput 内容改变时触发
    //
    // inp.oninput = function () {  // 当input框中改变内容时,h22的文本内容一起更改
    //     h22.innerText = this.value;
    // };
</script>

<!--<script>-->
    <!--// 表单内容-->
    <!--let inp = document.querySelector(‘input‘);-->
    <!--console.log(inp.value);-->
    <!--inp.value = 67890;-->

    <!--// console.log(inp.getAttribute(‘value‘));-->
    <!--// inp.setAttribute(‘value‘,‘00000000000‘)-->
<!--</script>-->

<!--<script>-->
    <!--// 1)找目标标签-->
    <!--let h1 = document.querySelector(‘h1‘);-->

    <!--// 2)获取样式,内容,属性-->
    <!--let fontSize = h1.style.fontSize;-->
    <!--console.log(fontSize);-->

    <!--// 标签.style.属性名  只能获取行间式-->
    <!--// getComputedStyle(ele_name,伪类选择器通常用null填充) 能获取所有方式的样式(内联与外联叫计算后样式)-->
    <!--let bgColor = getComputedStyle(h1,null).backgroundColor;-->
    <!--console.log(bgColor);-->

    <!--console.log(h1.innerText);  // 获取标签内的文本-->
    <!--console.log(h1.innerHTML);  // 获取标签-->

    <!--console.log(h1.getAttribute(‘id‘));   // 获取id-->

    <!--console.log(h1.getAttribute(‘owen‘)); // 获得标签内的属性,(此处的‘owen‘为自定义)-->

    <!--// 3) 修改样式,内容,属性-->
    <!--h1.style.color = ‘red‘;  // js 可以直接修改样式  -  修改的是行间式-->
    <!--h1.style.borderRadius = ‘50%‘; // css的 - 链接语法对应 js 的 小驼峰命名法-->

    <!--h1.innerText = ‘修改过后的内容‘;-->
    <!--h1.innerHTML = ‘<i>修改后的内容</i>‘;-->

    <!--h1.setAttribute(‘owen‘,‘00000000000000‘);-->

    <!--let img = document.querySelector(‘img‘);-->
    <!--if (Math.random() > 0.5) {-->
        <!--img.setAttribute(‘src‘,‘https://pic4.zhimg.com/v2-62f707093a092080ba1af623315c1331_b.jpg‘)-->
        <!--img.setAttribute(‘src‘,‘https://pic3.zhimg.com/v2-3939aa204cac6921931d0de026f71e4f_b.jpg‘)-->
    <!--}-->
<!--</script>-->

<script>

    // 一,js 选择器:js如何与html标签建立起联系
    // 1)

    // 2) 同css3 选择器, 定位标签
    // querySelector就是获取一个
    // h1 = document.querySelector(‘#hhh‘);

    // h1 = document.querySelector(‘body h1#hhh‘);   // 按id
    // console.log(h1);

    // h21 = document.querySelector(‘#hhh~ .hh2‘);   // 兄弟选择器
    // console.log(h21);

    // querySelectorAll就是获取多个
    // h2s = document.querySelectorAll(‘#hhh~ .hh2‘);// 兄弟选择器,查找所有,使用列表套起来的对象
    // console.log(h2s);

    // // 优势:通过id ,class 或标签,都可以快速定位到一个或某几个
    // h22 = document.querySelector(‘.hh2:nth-of-type(2)‘);  // 伪类选择器,通过类名来查找所有,再使用伪类选择器选择第几个
    // console.log(h22);
</script>
</html>

原文地址:https://www.cnblogs.com/liguodeboke/p/11135290.html

时间: 2024-11-10 08:13:16

python第五十四天 javascript语法 1.运算符 2. 流程控制 3. 函数 4. 四种变量 5. 数据类型的运用 6. js页面交互的相关文章

python 之 前端开发( JavaScript变量、数据类型、内置对象、运算符、流程控制、函数)

11.4 JavaScript 11.41 变量 1.声明变量的语法 // 1. 先声明后定义 var name; // 声明变量时无需指定类型,变量name可以接受任意类型 name= "egon"; ? // 2. 声明立刻定义 var age = 18; 2.变量名命名规范 1.由字母.数字.下划线.$ 组成,但是不能数字开头,也不能纯数字2.严格区分大小写3.不能包含关键字和保留字(以后升级版本要用的关键字).如: abstract.boolean.byte.char.clas

python基础02—运算符与流程控制

运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 复合运算 +=.-=.=./=.//=.%=.*= 关系运算(比较运算) >.>=.<.<=.==.!= 由操作数和运算符组成的式子称为表达式 关系表达式是有值的(布尔值),符合数学逻辑值为True,不符合数学逻辑值为False 逻辑运算 与(and):两边的表达式同时为真,值才为真

Python之运算符和流程控制

Python之运算符和流程控制 运算符 算术运算符 + - * / % // ** # 返回一个数值 比较运算符 > >= < <= == != # 返回一个布尔值 3.赋值运算符 += -+ *= /= 逻辑运算符 and/or/not 身份运算符 is和==的区别:is用于判断两个变量引用对象是否为同一个(是否在同一块内存空间中), ==用于判断引用变量的值是否相等. x = 257 y = x z = 257 print(f'x is y:{x is y}') # x is

PHP100-第四讲 PHP5.4 运算符、流程控制

PHP中有丰富的运算符集,它们中大部分直接来自于C语言.按照不同功能区分,运算符可以分为:算术运算符.字符串运算符.赋值运算符.位运算符.条件运算符,以及逻辑运算符等.当各种运算符同在一个表达式中时,它们的运算是有一定的优先级的,下面将详细介绍.PPT下载请点击 PHP5.4 的流程控制语句if / switch-- PHP100-第四讲 PHP5.4 运算符.流程控制,布布扣,bubuko.com

Python学习(二):入门篇:python中流程控制与函数编写

python中流程控制与函数编写 Last Eidt 2014/5/2 转载请注明出处http://blog.csdn.net/jxlijunhao 一,流程控制 1)布尔逻辑 Python中利用True来表示逻辑真,False来逻辑假 not :非 and:与 or   :或 ==  :逻辑等 >>> False==True False >>> False==False True >>> not False True >>> Fal

javascript 运算符,流程控制,四种变量,函数一级页面交互

每一种语言中都有自己的运算符,表现方式都有一些区别. javascript运算符如下: - 赋值运算符 前提:x=5,y=5 | 运算符 | 例子 | 等同于 | 运算结果 | | :----- | :--- | ------ | -------- | | = | x=y | | 5 | | += | x+=y | x=x+y | 10 | | -= | x-=y | x=x-y | 0 | | *= | x*=y | x=x*y | 25 | | /= | x/=y | x=x/y | 1 |

Python基础总结(字符串常用,数字类型转换,基本运算符与流程控制)

一.字符串常用操作 #Python strip() 方法用于移除字符串头尾指定的字符(默认为空格) name='*egon**' print(name.strip('*'))#移除 name 变量对应的值两边的*,并输出处理结果 print(name.lstrip('*'))#移除 name 变量左边的*,并输出处理结果 print(name.rstrip('*'))#移除 name 变量右边的*,并输出处理结果 #startswith,endswith name='alex_SB' print

(4)PHP基本语法、变量、数据类型、运算符、流程控制

一.基本语法 1.PHP在网页里的结构 <?php ..... ?> 2.php的另一种格式(不推荐使用) <script language="php"> ,,,,,,,,, </script> 3.php注释 // /*    */ # unix 风格 4.一条语句要用 ; 结束 <?php echo "abc"; ?> 5.PHP区分大小写 二.常量&变量 1.常量 固定不变的量设置为常量,常量贯穿整个脚本

Python(输入、输出;简单运算符;流程控制)

一 输入输出 python3中统一都是input,python2中有raw_input等同于python3的input,另外python2中也有input 1.res=input("python3: ") 2.res=raw_input("python2: ") 3.res=raw_input("python2: ") 1,2无论接收何种输入,都被存为字符串赋值给res,而3的意思是,用户输入何种类型,就以何种类型赋值给res #!/usr/bi