Vue - JavaScript基础学习

一、语言概述

JavaScript 中的类型应该包括这些:
在这里插入图片描述

1.数字(默认双精度区别于Java)

console.log(3 / 2);             // 1.5,not 1
console.log(Math.floor(3 / 2)); // 1

0.1 + 0.2 = 0.30000000000000004

NaN(Not a Number)

parseInt("hello", 10); // NaN
NaN + 5; //NaN
isNaN(NaN); // true

2.字符串

"hello".charAt(0); // "h"
"hello, world".replace("world", "mars"); // "hello, mars"
"hello".toUpperCase(); // "HELLO"

3.其他类型

1.null(non-value)

2.undefined(未定义。不可修改的常量)

如果声明了一个变量却没有对其赋值,那么这个变量的类型就是 undefined。

3.Boolean

1.false、0、空字符串(“”)、NaN、null 和 undefined 被转换为 false
2.所有其他值被转换为 true

Boolean(""); // false
Boolean(234); // true

3.变量

1.let 局部变量

let 语句声明一个块级作用域的本地变量

let a;
let name = "Simon";
// myLetVariable 在这里 *不能* 被引用

for (let myLetVariable = 0; myLetVariable < 5; myLetVariable++) {
  // myLetVariable 只能在这里引用
}

// myLetVariable 在这里 *不能* 被引用

2.const 常量

const 允许声明一个不可变的常量。这个常量在定义域内总是可见的。

const Pi = 3.14; // 设置 Pi 的值
Pi = 1; // 将会抛出一个错误因为你改变了一个常量的值。

1.var 全局变量

var 是最常见的声明变量的关键字,使用 var 声明的变量在它所声明的整个函数都是可见的。

// myVarVariable 在这里 *能* 被引用

for (var myVarVariable = 0; myVarVariable < 5; myVarVariable++) {
  // myVarVariable 整个函数中都能被引用
}

// myVarVariable 在这里 *能* 被引用

4.运算符

相等的比较稍微复杂一些。由两个“=(等号)”组成的相等运算符有类型自适应的功能。
如果在比较前不需要自动类型转换,应该使用由三个“=(等号)”组成的相等运算符。

123 == "123"; // true
1 == true; // true

1 === true; //false
123 === "123"; // false

5.控制结构

1.if

   const name = 123
  if ("123" == name) {
    console.log("true")//true
  } else {
    console.log("false")
  }

  if ("123" === name) {
    console.log("true")
  } else {
    console.log("false")//false
  }

2.while

  let num = 0

  while (num < 3){
    console.log("num:"+num)//num:0 num:1 num:2
    num++
  }

3.for / forEach / for…in / for…of

for

  for (let i = 0; i < 2; i++) {
    console.log("num:"+i)//num:0 num:1
  }

forEach

  let num = 0;
  let array = [1,2,3,4]
  for (let i = 0; i < 5; i++) {
    num++
  }
  console.log("num:" + num)//num:5
  array.forEach((value) => console.log("num:"+value))//num:1 num:2 num:3 num:4

for…in / for of
1.for in 输出的是数组的index下标,而for of 输出的是数组的每一项的值。
2.for of 不能遍历对象

  const array = ["1","2","3"]
  for (const value of array) {
    console.log(value)//"1" "2" "3"
  }
  for (const key in array) {
    console.log(key)//"0" "1" "2"
    console.log(array[key])//"1" "2" "3"
  }

4.&& 和 || 是/否,控制运算(对象判空取对象属性)

  let object = {
    name:"Tom",
    age:20
  }
  let object2
  let name = object && object.name //object 不为空则获取name,否则不操作
  let sex = object2 && object2.name //object2 不为空则获取sex,否则不操作
  let other = object.sex || object.age //object.sex 为空则获取 object.age

  console.log(name)//Tom
  console.log(sex)//undefined
  console.log(other)//20

5.三元操作符

  let age = 20
  let value = age > 18? "yes" :"no"
  console.log(value)//yes

6.switch

6.对象

Object,可以简单理解成“名称 - 值”对(而不是键值对)

1.空对象

  let empty1 = {}//优先使用 方法叫作“对象字面量”法
  let empty2 = new Object()

定义对象和调用对象属性

  let object = {
    name:"Tom",
    age:20,
    detail:{
      height:180,
      weight:60
    }
  }

  object.name//Tom
  object.detail.height//180
function test() {
  let object = new Person("Tome",20)
  console.log(object.name)//Tom
  console.log(object.age)//20
  object.age = 18
  console.log(object.age)//18
}

function Person(name, age) {
  this.name = name;
  this.age = age;
}

7.数组及遍历数组方法

  let array = ["1", "2", "3"]
  for (let i = 0; i < array.length; i++) {
    console.log("遍历数组方法一", array[i])// 1 2 3
  }

  for (const value of array) {
    console.log("遍历数组方法二", value)// 1 2 3
  }

  for (const key in array) {
    console.log("遍历数组方法三", array[key])// 1 2 3
  }

  array.forEach(function (value, index, array) {
    console.log("遍历数组方法四", value)// 1 2 3
    console.log("遍历数组方法五", array[index])// 1 2 3
  })

1.array常用方法

1). push(value) 添加元素
  let array = ["1", "2", "3"]
  array.push("123")

  array.forEach((value, index, array) => {
    console.log(value) // 1 2 3 123
  })
2). toString()所有元素的字符串
  let array = ["1", "2", "3"]
  console.log(array.toString()) //"1,2,3"
3).concat(otherArray)数组连接组合
  let array1 = ["1", "2", "3"]
  let array2 = ["4", "5", "6"]
  console.log(array1.concat(array2)) //['1', '2', '3', '4', '5', '6']
4)…join(s) 数组元素中添加分隔符
  let array = ["1", "2", "3"]
  console.log(array.join())//1,2,3
  console.log(array.join(""))//123
  console.log(array.join("-"))//1-2-3
  console.log(array.join("|"))//1|2|3

8.函数

function test() {
  console.log(add02(1,2))//3
  console.log(add03(1,2,3,4))//10
}

function add01() {
  //默认return undefined
}

function add02(x, y) {
  const sum = x + y;
  return sum
}

function add03(...nums) {
  let sum = 0;
  nums.forEach((value) => {
    sum += value
  })
  //默认return undefined
  return sum
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/638844.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

为什么 buffer 越大传输效率越低

先看 从边际效益递减看 buffer 中挤占带宽 中的两个模型&#xff1a; E1 inflight_prop - inflight_buff&#xff1a; y 2 t x − b x a − x y2tx-\dfrac{bx}{a-x} y2tx−a−xbx​E2 bw / delay&#xff1a; y a x − x 2 b t a − t x y\dfrac{ax-x^2}{bta-tx} ybta−…

OpenMV学习笔记1——IDE安装与起步

目录 一、OpenMV IDE下载 二、OpenMV界面 三、Hello World&#xff01; 四、将代码烧录到OpenMV实现脱机运行 五、插SD卡&#xff08;为什么买的时候没送&#xff1f;&#xff09; 一、OpenMV IDE下载 浏览器搜索OpenMV官网&#xff0c;进入后点击“立即下载”&#xff0…

深度学习基于Tensorflow卷积神经网络VGG16的CT影像识别分类

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 随着医疗技术的快速发展&#xff0c;CT&#xff08;Computed Tomography&#xff09;影像已成为医生…

面试准备【面试准备】

面试准备【面试准备】 前言面试准备自我介绍&#xff1a;项目介绍&#xff1a; 论坛项目功能总结数据库表设计注册功能登录功能显示登录信息功能发布帖子评论私信点赞功能关注功能通知搜索网站数据统计热帖排行缓存 论坛项目技术总结Http的无状态cookie和session的区别为什么要…

Linux-应用编程学习笔记(二、文件I/O、标准I/O)

一、文件I/O基础 文件 I/O 指的是对文件的输入/输出操作&#xff0c;就是对文件的读写操作。Linux 下一切皆文件。 1.1 文件描述符 在 open函数执行成功的情况下&#xff0c; 会返回一个非负整数&#xff0c; 该返回值就是一个文件描述符&#xff08;file descriptor&#x…

Python3 笔记:sort() 和 sorted() 的区别

1、sort() 可以对列表中的元素进行排序&#xff0c;会改变原列表&#xff0c;之前的顺序不复存在。 list.sort&#xff08;key&#xff0c; reverse None&#xff09; key&#xff1a;默认值是None&#xff0c;可指定项目进行排序&#xff0c;此参数可省略。 reverse&#…

零基础PHP入门(一)选择IDE和配置环境

配置环境 官网下载安装包&#xff0c;windows https://windows.php.net/download#php-8.3 我是下载的最新版&#xff0c;也可以切换其他版本 https://windows.php.net/downloads/releases/archives/ 下载好压缩文件后&#xff0c;双击解压到一个目录 D:\soft\php 复制ph…

Vue 3 的 setup语法糖工作原理

前言 我们每天写vue3项目的时候都会使用setup语法糖&#xff0c;但是你有没有思考过下面几个问题。setup语法糖经过编译后是什么样子的&#xff1f;为什么在setup顶层定义的变量可以在template中可以直接使用&#xff1f;为什么import一个组件后就可以直接使用&#xff0c;无需…

匝间冲击耐压试验仪产品介绍及工作原理

产品简介 武汉凯迪正大KD2684S匝间冲击耐压试验仪适用于电机、变压器、电器线圈等这些由漆包线绕制的产品。因漆包线的绝缘涂敷层本身存在着质量问题&#xff0c;以及在绕线、嵌线、刮线、接头端部整形、绝缘浸漆、装配等工序工艺中不慎而引起绝缘层的损伤等&#xff0c;都会造…

零基础代码随想录【Day42】|| 1049. 最后一块石头的重量 II,494. 目标和,474.一和零

目录 DAY42 1049.最后一块石头的重量II 解题思路&代码 494.目标和 解题思路&代码 474.一和零 解题思路&代码 DAY42 1049.最后一块石头的重量II 力扣题目链接(opens new window) 题目难度&#xff1a;中等 有一堆石头&#xff0c;每块石头的重量都是正整…

Axure软件安装教程

链接&#xff1a;https://pan.baidu.com/s/1fHrSrZ7PIeDZZpn6QyJ6jQ?pwdb4mv 提取码&#xff1a;b4mv 安装完后点击Finish 名字随便起 关闭Axure 复制到安装目录下 最后成果

ASP+ACCESS基于WEB社区论坛设计与实现

摘要&#xff1a;系统主要实现BBS网站全部功能。采用目前应用最为广泛的ASP作为开发工具来开发此系统、以保证系统的稳定性。采用目前最为流行的网页制作工具Dreamweaver和目前最为流行的动画制作工具Flash MX。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发&…

第七步 实现打印函数

文章目录 前言一、如何设计我们的打印函数&#xff1f;二、实践检验&#xff01; 查看系列文章点这里&#xff1a; 操作系统真象还原 前言 现在接力棒意见交到内核手中啦&#xff0c;只不过我们的内核现在可谓是一穷二白啥都没有&#xff0c;为了让我们设计的内核能被看见被使用…

uniapp微信小程序在ios端返回不显示弹窗的bug解决

这个问题其实是因为返回页面的时候弹的太快了导致的解决办法&#xff1a; 其实就是返回页面的弹窗加个延迟就好啦

电脑同时配置两个版本mysql数据库常见问题

1.配置时&#xff0c;要把bin中的mysql.exe和mysqld.exe 改个名字&#xff0c;不然两个版本会重复&#xff0c;当然&#xff0c;在初始化数据库的时候&#xff0c;如果时57版本的&#xff0c;就用mysql57(已经改名的)和mysqld57 代替 mysql 和 mysqld 例如 mysql -u root -p …

golang通过go-aci适配神通数据库

1. go-aci简介 go-aci是神通数据库基于ACI(兼容Oracle的OCI)开发的go语言开发接口&#xff0c;因此运行时需要依赖ACI驱动和ACI库的头文件。支持各种数据类型的读写、支持参数绑定、支持游标范围等操作。 2. Linux部署步骤 2.1. Go安装&#xff1a; 版本&#xff1a;1.9以上…

[数据集][目标检测]吸烟检测数据集VOC+YOLO格式1449张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1449 标注数量(xml文件个数)&#xff1a;1449 标注数量(txt文件个数)&#xff1a;1449 标注…

深度学习之基于Pytorch框架手写数字识别

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 手写数字识别是数字图像处理领域的一个经典问题&#xff0c;也是深度学习技术的一个常用应用场…

初识C语言——第二十八天

代码练习1&#xff1a; 用函数的方式实现9*9乘法表 void print_table(int n) {int i 0;int j 0;for (i 1; i< n; i){for (j 1; j< i; j){printf("%d*%d%-3d ", i, j, i * j);}printf("\n");}}int main() {int n 0;scanf("%d", &a…

【加密与解密(第四版)】第十六章笔记

第十六章 脱壳技术 16.1 基础知识 壳的加载过程&#xff1a;保存入口参数、获取壳本身需要使用的API地址、解密原程序各个区块的数据、IAT的初始化、重定位项的处理、HOOK API、跳转到程序原入口点 手动脱壳步骤&#xff1a;查找真正的入口点、抓取内存映像文件、重建PE文件&…