【Web开发手礼】探索Web开发的魅力(七)-JavaScript(1)-JS的调用方式与执行顺序、变量与运算符、输入输出

主要讲解了JS的调用方式与执行顺序、变量与运算符、输入输出,可以当作一个日常的学习笔记。

文章目录

前言

JS的调用方式与执行顺序

使用方式

执行顺序

HTML, CSS, JavaScript三者之间的关系

 变量与运算符

let与const

 变量类型

运算符 

 输入输出

输入

输出

格式化字符串

 练习

总结


前言

主要讲解了JS的调用方式与执行顺序、变量与运算符、输入输出,可以当作一个日常的学习笔记。


JS的调用方式与执行顺序

使用方式

HTML页面中的任意位置加上<script type="module"></script>标签即可。

常见使用方式有以下几种:

  • 直接在<script type="module"></script>标签内写JS代码。
  • 直接引入文件:<script type="module" src="/static/js/index.js"></script>。
  • 将所需的代码通过import关键字引入到当前作用域。

例如:

/static/js/index.js文件中的内容为:

let name = "acwing";

function print() {
    console.log("Hello World!");
}

export {
    name,
    print
}

 <script type="module"></script>中的内容为:

<script type="module">
    import { name, print } from "/static/js/index.js";

    console.log(name);
    print();
</script>

执行顺序

  1.  类似于HTML与CSS,按从上到下的顺序执行;
  2. 事件驱动执行;

HTML, CSS, JavaScript三者之间的关系

  1.  CSS控制HTML
  2. JavaScript控制HTML与CSS
  3. 为了方便开发与维护,尽量按照上述顺序写代码。例如:不要在HTML中调用JavaScript中的函数。

 变量与运算符

let与const

用来声明变量,作用范围为当前作用域。

  • let用来定义变量;
  • const用来定义常量;

例如:

let s = "acwing", x = 5;

let d = {
    name: "yxc",
    age: 18,
}

const n = 100;

 变量类型

  • number:数值变量,例如1, 2.5
  • string:字符串,例如"acwing", 'yxc',单引号与双引号均可。字符串中的每个字符为只读类型。
  • boolean:布尔值,例如true, false
  • object:对象,类似于C++中的指针,例如[1, 2, 3],{name: "yxc", age: 18},null
  • undefined:未定义的变量

类似于Python,JavaScript中的变量类型可以动态变化。

运算符 

与C++、Python、Java类似,不同点:

  • **表示乘方
  • 等于与不等于用===和!==

===不仅判断类型,也判断数值。 

 输入输出

输入

  • 从HTML与用户的交互中输入信息,例如通过input、textarea等标签获取用户的键盘输入,通过click、hover等事件获取用户的鼠标输入。
  • 通过Ajax与WebSocket从服务器端获取输入
  • 标准输入

js实现a+b 

let fs = require('fs');
let buf = '';

process.stdin.on('readable', function() {
    let chunk = process.stdin.read();
    if (chunk) buf += chunk.toString();
});

process.stdin.on('end', function() {
    buf.split('\n').forEach(function(line) {
        let tokens = line.split(' ').map(function(x) { return parseInt(x); });
        if (tokens.length != 2) return;
        console.log(tokens.reduce(function(a, b) { return a + b; }));
    });
});

 

输出

  •  调试用console.log,会将信息输出到浏览器控制台
  • 改变当前页面的HTML与CSS
  • 通过Ajax与WebSocket将结果返回到服务器

js代码如下: 


let input = document.querySelector("textarea");
let run = document.querySelector("button");
let output = document.querySelector("pre");

function main(){
    run.addEventListener("click" , function() {
        let value = input.value;
        output.innerHTML = value;
    });

}

export {
    main
}

html代码如下: 

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <link rel="stylesheet" href="/static/css/index.css" type="text/css">
  
</head>
<body>
  输入:
  <br>
  <textarea name="" id="" cols="30" rows="10"></textarea>
  <br>
  <button>run</button>
  <br>
  <pre></pre>
  <script type="module">
    import {main} from "/static/js/index.js"
    main();
    
  </script>
  
</body>
</html>

css如下:

textarea{
    width: 500px;
    height: 300px;
    background-color: lightblue;
    font-size: 24px;
}

pre{
    width: 500px;
    height: 300px;
    font-size: 24px;
    background-color: lightcoral;
}

 示例:

格式化字符串

  • 字符串中填入数值:
let name = 'yxc', age = 18;
let s = `My name is ${name}, I'm ${age} years old.`;
  •  定义多行字符串:
let s = 
`<div>
    <h2>标题</h2>
    <p>段落</p>
/div>`
  •  保留两位小数如何输出
let x = 1.234567;
let s = `${x.toFixed(2)}`;

 练习

 输出Hello World。

function main(){
    console.log("Hello World");
}
export {
    main
}

输入两个数,计算两个数的和。


let input = document.querySelector("textarea");
let run = document.querySelector("button");
let output = document.querySelector("pre");

function main(){
    run.addEventListener("click", function(){
        let [ a , b ] = input.value.split(" ");
        a = parseInt(a), b = parseInt(b);
        output.innerHTML = a + b; 
    });
}
export {
    main
}

 

输入一个小数,返回向零取整之后的结果。 


let input = document.querySelector("textarea");
let run = document.querySelector("button");
let output = document.querySelector("pre");

function main(){
    run.addEventListener("click", function(){
        let x = parseFloat(input.value);
        output.innerHTML = parseInt(x);
    });
}
export {
    main
}

 

输入a, b, c,输出 (a + b) * c 的值。


let input = document.querySelector("textarea");
let run = document.querySelector("button");
let output = document.querySelector("pre");

function main(){
    run.addEventListener("click", function(){
        let[a , b, c] = input.value.split(" ");
        a = parseFloat(a), b = parseFloat(b), c = parseFloat(c);
        output.innerHTML = (a + b) * c ;
        
    });
}
export {
    main
}

 

 求反三位数。


let input = document.querySelector("textarea");
let run = document.querySelector("button");
let output = document.querySelector("pre");

function main(){
    run.addEventListener("click", function(){
       let x = input.value;
       let a = x % 10;
       x = parseInt(x / 10);
       let b = x % 10;
       x = parseInt(x / 10);
       let c = x;
       output.innerHTML = `${a}${b}${c}`;

    });
}
export {
    main
}

 

输出如下的菱形。

  *
 ***
*****
 ***
  *

let input = document.querySelector("textarea");
let run = document.querySelector("button");
let output = document.querySelector("pre");

function main(){
    run.addEventListener("click", function(){
       let s = "";
       s += '  *\n';
       s += ' ***\n';
       s += '*****\n';
       s += ' ***\n';
       s += '  *';
       output.innerHTML = s;

    });
}
export {
    main
}


总结

主要讲解了JS的调用方式与执行顺序、变量与运算符、输入输出,可以当作一个日常的学习笔记。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值