JavaScript笔记

概念

一种运行在客户端(浏览器)的编程语言,实现人机交互的效果

作用

网页特效(监听用户行为让网页作出反馈)、表单验证(判断合法性)、数据交互(获取后台数据,渲染到前端)、服务端编程(node.js)

组成

ECMAScript(语言基础)、Web APIs(DOM、BOM)

书写位置

行内:

<button onclick="alert('好好好')">点击</button>

内部

<script>
      // 页面会弹出警示框
      alert("你好");
    </script>

外部

alert('你好吗')
<script src="书写位置.js"></script>

输入输出

输出

document.write('')

在页面上显示,里面可以加盒子(加盒子或者里面有相关元素的话引号要用··且相关元素要用${}包裹)

alert('')

用对话框显示,里面加相关元素时要用${}包裹,且外围引号为··

console.log('')

控制台显示,里面加相关元素时要用${}包裹,且外围引号为··

输入

prompt('')

在对话框显示需要输入的内容

显示顺序

alert和prompt比较先显示,剩下的按代码顺序显示

字面量

数字字面量

eg:123

字符串字面量

eg:‘123’、‘你好’

数组字面量

eg: arr=[]

对象字面量

变量

概念

计算机用来存储数据的容器(html的盒子属于其中的一种)

声明

let (变量名)=(初始值)

数组:let (数组名)=[每个元素的值]

规范

只能_、字母、数字、$组成名字,且数字不能开头

大小写能区分为两个不同的变量

命名多个单词组成的名字时,第一个单词小写,第二个单词大写

不能有中文

常量

声明

const (常量名)=(值)

注:声明的时候必须要赋值,且后续不能改变这个值

基本数据类型

数字型(number)

JavaScript是一门弱数据语言,而JAVA是一门强数据语言,所以JavaScript不会区分数字的具体类型,统称为number,而JAVA会分为很多种

如果运算无法进行,则会输出NaN,NaN也是数字型数据,代表的是非数字(+可以拼接字符串和数字,其他的不行)

NaN和任何数字计算都会返回NaN

字符串型(string)

一般推荐使用''包裹字符串

若字符串里面有引号,则可以用""包裹,或者"\' '\"(转义符)

字符串拼接:+(字符串和字符串拼接、字符串和数字拼接)

boolean型

true/false

// 用法一
      let isCool = true;
      document.write(isCool);
      // 用法二
      let isTrue = 3 < 4;
      console.log(isTrue);

undefined未定义型

不能进行计算

let num;
      console.log(num);
      console.log(num + 1);

null 空类型

可以是任何类型来跟确定的类型计算或者拼接

let obj = null;
      console.log(obj);
      console.log(obj + 1);
      console.log(obj + "你好");

检测数据类型

console.log(typeof(obj));

ps:使用表单和prompt获取的所有东西(包括数字和true/false)都默认为string

数据类型转换

隐式转换

+两边只要有一个字符串,另外所有也会默认为字符串,一整个式子就会被默认为字符串

除了+号其他的的式子一边有数字,整个式子就是以数字的类型计算并显示出结果

显式转换

在所有类型值前加+都可以转换为数字型(所有类型字符串都可以)

Number()//强制转化为数字型

parseInt:只保留整数(在字符串中如果最前面有数字,然后这个是数字和字符串的组合,则这个会忽略字符串只输出数字,但是如果字符串开头,则会输出为NaN)

parseFloat:可以保留小数(跟parseInt对字符串的处理一样,只是可以保留小数

语句

表达式和语句

表达式:可以被求值,可以写在赋值语句的右侧

语句:用来直接执行,不一定有值

分支语句

if语句
if (3 == 4) {
        console.log("true");
      } else {
        console.log("false");
      }
三元运算符
console.log(3 > 5 ? 3 : 5);
      3 > 5 ? alert(true) : alert(false);
      let sum = 3 < 5 ? 3 : 5; //5
      alert(sum);
switch语句
let num = prompt("请输入");
      // 转成数字型
      switch (+num) {
        case 1:
          alert("1");
          break;
        case 2:
          alert("2");
          break;
        case 3:
          alert("3");
          break;
      }

循环语句

while(不明确循环次数)

 while (i <= 100) {
        document.write(`${i} `);
        sum1 += i;
        i++;
}

for(明确循环次数)

for (let i = 1; i <= 100; i++) {
        document.write(`${i}<br/>`);
}

break&continue

break:结束所有循环

continue:本次循环结束(continue下面代码不执行),继续下一轮循环(一般用于跳过某一轮循环)

冒泡排序

for (let i = 0; i < arr.length - 1; i++) {
        for (let j = 0; j < arr.length - i - 1; j++) {
          if (arr[j] > arr[j + 1]) {
            let temp = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = temp;
          }
        }
      }


JavaScript笔记
http://localhost:8090//archives/javascriptbi-ji
作者
林依琪
发布于
2024年10月07日
许可协议