JavaScript的基础语法(中)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: JavaScript的基础语法

比较运算符


  • <
  • >
  • <=
  • >=
  • ==(会进行隐式类型转换)
  • !=
  • ===(不会进行隐式类型转换)
  • !==

隐式类型转换🍭

针对不相同的类型进行比较 / 运算时, 将其尽可能的转换为相同的类型

举个栗子🌰

针对如下代码

由于其类型不同, 默认比较结果为 false

但是==触发了隐式类型转换(将其尽可能转换为相同的类型)

导致其结果为 true

let a = 10;
let b = '10';
console.log(a == b);
let c = true;
let d = 1;
console.log(c == d);

若使用===(不进行隐式类型转换), 其结果为 false

  • "强类型"语言: 不太支持隐式类型转换
  • "弱类型"语言: 比较支持隐式类型转换

默认强类型语言比弱类型语言好

(类型强, 即不同类型之间的区分度较高 → 编译器能做的检查工作就更多 → 代码的出错概率就更低)

逻辑运算符


  • &&
  • ||
  • !

位运算


  • &
  • |
  • ~
  • ^

移位运算


  • <<
  • >>
  • >>>

🔎数组


在 JS 中

数组不仅仅是传统意义上的数组

而是具有"键值对"性质的数组

创建数组


  • let arr = new Array();(通过 new 创建)
  • let arr = [];(直接创建)

在 JS 中, 数组的元素可以是任意类型

举个栗子🌰

let arr = [1, 'hello', true, []]

获取数组中的元素


创建一个数组let arr = ['hello', 'the', 'world'];


获取数组中的指定元素🍭

根据下标获取指定元素

例如

console.log(arr[0]);

console.log(arr[1]);

console.log(arr[2]);

特殊的下标🍂

let arr = ['hello', 'the', 'world'];为例

arr 的长度为 3

默认下标从 0 开始

在 JS 中, 存在一些特殊的下标

  • > 数组长度的下标(空余位置为 empty)
  • < 0 的下标(解析为键值对结构)
  • 自定义的下标(解析为键值对结构)

> 数组长度的下标(空余位置为 empty)

let arr = ['hello', 'the', 'world'];
arr[100] = '滑稽';
console.log(arr);

< 0 的下标(解析为键值对结构)

let arr = ['hello', 'the', 'world'];
arr[-1] = 'Tom';
arr[-2] = 'Homo';
console.log(arr);

自定义的下标(解析为键值对结构)

let arr = ['hello', 'the', 'world'];
arr['name'] = 'Jack';
console.log(arr);


获取数组中的所有元素🍭

  • 利用循环获取数组中所有元素
  • 利用数组名获取数组中所有元素

利用循环获取数组中所有元素🍂

方法1

for(let i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}

方法2

for(let i in arr) {
  console.log(arr[i]);
}

方法3

for(let i of arr) {
  console.log(i);
}

注意区分let i in arrlet i of arr

in表示数组的下标

of表示数组的元素

运行效果

利用数组名获取数组中所有元素🍂

console.log(arr);

运行效果

添加数组中的元素


利用push添加数组中的元素

举个栗子🌰

let arr = ['hello', 'the', 'world'];

添加元素

arr.push('bibubibu');

运行效果

删除数组中的元素


利用splice删除数组中的元素

splice一共 3 个参数

  • start(必需), 指定要操作的起始位置
  • deleteCount(可省略), 从起始位置开始要删除的元素数量. 若省略或值大于从起始位置到数组末尾的元素数量时, 则删除从起始位置到数组末尾的所有元素
  • item1, item2, ...(可省略), 要添加到数组的元素, 从起始位置添加

删除数组中的元素🍭

let arr = ['hello', 'the', 'world'];
// 删除
arr.splice(2, 1); // ['hello', 'the'

添加数组中的元素🍭

let arr = ['hello', 'the', 'world']; 
// 添加
arr.splice(2, 0, 'bibubibu'); // ['hello', 'the', 'bibubibu', 'world']

替换数组中的元素🍭

let arr = ['hello', 'the', 'world'];
// 替换
arr.splice(2, 1, 'bibubibu'); // ['hello', 'the', 'bibubibu']

🔎函数


语法

function 函数名(形参列表) {
  函数体
  return 返回值; // 可省略
}

举个栗子🌰

function add(x, y) {
  console.log(x + y);
  return x + y;
}

注意🍂

  • 形参无需指定类型
  • NaN, Not a Number
  • 实参个数 < 形参个数, 多出来的形参的值为 undefined
  • 实参个数 > 形参个数, 多出来的实参不参与运算

实参个数 < 形参个数🍭

function add(x, y) {
  return x + y;
}
console.log(add(10));
console.log(add('10'));

实参个数 > 形参个数🍭

function add(x, y) {
  return x + y;
}
console.log(add(10, 20, 30));
console.log(add(20, 30, 40));

实参个数较多时, 如何获取


通过 arguments 获取全部实参

每个函数都会自定义一个 arguments 变量, 是一个数组, 包含全部实参

function add() {
  let ret = 0;
  for(let x of arguments) {
    ret += x;
  }
  return ret;
}
console.log(add(10, 20, 30, 40));

相关文章
|
6月前
|
存储 JavaScript 前端开发
Node.js的基本语法
【8月更文挑战第12天】Node.js的基本语法
225 1
|
4月前
|
JavaScript 前端开发
JavaScript 函数语法
JavaScript 函数是使用 `function` 关键词定义的代码块,可在调用时执行特定任务。函数可以无参或带参,参数用于传递值并在函数内部使用。函数调用可在事件触发时进行,如用户点击按钮。JavaScript 对大小写敏感,函数名和关键词必须严格匹配。示例中展示了如何通过不同参数调用函数以生成不同的输出。
|
4月前
|
JavaScript 前端开发 大数据
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
90 0
|
6月前
|
JavaScript 前端开发
JavaScript基础&实战(1)js的基本语法、标识符、数据类型
这篇文章是JavaScript基础与实战教程的第一部分,涵盖了JavaScript的基本语法、标识符、数据类型以及如何进行强制类型转换,通过代码示例介绍了JS的输出语句、编写位置和数据类型转换方法。
JavaScript基础&实战(1)js的基本语法、标识符、数据类型
|
7月前
|
缓存 JavaScript 前端开发
前端框架与库 - Vue.js基础:模板语法、数据绑定
【7月更文挑战第14天】Vue.js 是渐进式框架,以简洁API和高效数据绑定知名。本文聚焦模板语法与数据绑定,解释常见问题和易错点,助力初学者避坑。模板语法中,{{ expression }} 用于渲染值,v-bind/: 用于动态绑定属性。数据绑定涉及文本、属性和事件,注意v-model适用于表单元素,计算属性有缓存。理解正确用法,借助文档和IDE,可提升开发质量和效率。善用Vue.js,打造响应式UI。
264 4
|
6月前
|
前端开发 JavaScript 程序员
前端 JavaScript 的 _ 语法是个什么鬼?
前端 JavaScript 的 _ 语法是个什么鬼?
|
8月前
|
存储 JavaScript 前端开发
JavaScript 语法
JavaScript 语法
52 5
|
7月前
|
存储 JavaScript 前端开发
|
8月前
|
JavaScript 前端开发
JavaScript语法关键点:变量用`var`、`let`、`const`声明
【6月更文挑战第22天】JavaScript语法关键点:变量用`var`、`let`、`const`声明;七种数据类型包括`Number`、`String`、`Boolean`、`Null`、`Undefined`、`Symbol`和`Object`;运算符如算术、比较、逻辑和赋值;流程控制有`if...else`、`switch`和各种循环。了解这些是JS编程的基础。
78 3
|
7月前
|
前端开发 JavaScript
js【详解】Promise(含 Promise 的三种状态及其变化,创建 Promise, Promise.all 语法、Promise.all 实战范例、手写 Promise.all)
js【详解】Promise(含 Promise 的三种状态及其变化,创建 Promise, Promise.all 语法、Promise.all 实战范例、手写 Promise.all)
1053 0

热门文章

最新文章