Vue - JavaScript基础学习

news2024/11/16 3:46:37

一、语言概述

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
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入用户内心:设计师如何通过可用性测试洞察用户需求

可用性测试是指让用户体验产品的原型或成品。设计师通过观察和分析用户的使用行为和感受&#xff0c;进一步合理地改进产品的设计方法。你可能会想知道我们可以用什么方法来测试可用性&#xff1f;随着互联网行业的快速迭代更新&#xff0c;可用性测试衍生出了许多类型和方法。…

Packet Tracer-HSRP+DHCPv4+VLAN间路由+以太通道综合实验

实验拓扑&#xff1a; 实验内容&#xff1a; VLAN及VLAN间路由的配置&#xff0c;以太通道的配置&#xff0c;STP的根调整&#xff0c;DHCPv4的配置&#xff0c;首跳冗余HSRP的配置。 实验最终结果&#xff1a; PC可以自动获取到DHCP-Server分配的IP地址&#xff0c;实现首跳…

【人工智能】模型性能评估

模型性能衡量介绍 混淆矩阵 混淆矩阵(Confusion Matrix&#xff09; TP(真阳性)&#xff1a;预测为阳性&#xff0c;且预测正确。 TN(真阴性)&#xff1a;预测为阴性&#xff0c;且预测正确。 FP(伪阳性)&#xff1a;预测为阳性&#xff0c;但预测错误&#xff0c;又称型一误…

widedeep模型简介

wide&deep模型 1.简介2.原理2.1 网络结构 3. 稀疏密集特征4.API和子类方式实现 1.简介 Wide and deep 模型是 TensorFlow 在 2016 年 6 月左右发布的一类用于分类和回归的模型&#xff0c;并应用到了 Google Play 的应用推荐中。wide and deep 模型的核心思想是结合线性模…

VBA_MF系列技术资料1-615

MF系列VBA技术资料1-615 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧&#xff0c;我参考大量的资料&#xff0c;并结合自己的经验总结了这份MF系列VBA技术综合资料&#xff0c;而且开放源码&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-0…

Ubuntu切换内核版本

#安装内核安装工具 sudo apt-get install software-properties-common sudo add-apt-repository ppa:cappelikan/ppa sudo apt-get update sudo apt-get install mainline#安装指定内核版本(有些版本并不能安装成功) mainline install 5.14.10#更新GRUB配置 sudo update-grub#查…

go mod模式下,import gitlab中的项目

背景 为了go项目能够尽可能复用代码&#xff0c;把一些公用的工具类&#xff0c;公用的方法等放到共用包里统一管理。把共用包放到gitlab的私有仓库中。 遇到的问题 通过https方式&#xff0c;执行go get报了错误。 通过ssh方式&#xff0c;执行go get报了错误。 修改配置&am…

Joomla 3.7.0 (CVE-2017-8917) SQL注入漏洞环境

1 漏洞概述 Joomla是一个基于PHP的内容管理系统&#xff08;CMS&#xff09;&#xff0c;广泛应用于各类网站。2017年&#xff0c;Joomla 3.7.0版本被发现存在SQL注入漏洞&#xff08;CVE-2017-8917&#xff09;&#xff0c;攻击者可以利用该漏洞对数据库进行未授权查询或操作…

副业树洞聊天项目/树洞倾诉/陪陪系统源码/树洞源码下载搭建

随着社会的发展和人们生活水平的提高&#xff0c;越来越多的人在面临心理压力、情感困扰或生活困境时&#xff0c;需要一个可以宣泄、倾诉和寻求支持的平台。而传统的人际交往方式往往会遇到难以排解的问题&#xff0c;比如担心被他人知晓自己的隐私等&#xff0c;这就导致了人…

鸿蒙系统和安卓系统通过termux搭建Linux系统—Centos

目录 1. 前言 2. 效果图展示 3. 安装termux 4. 安装Centos系统 4.1 更换源 4.2 拉取镜像 4.3 启动centos 5.结尾 1. 前言 大家好&#xff0c;我是jiaoxingk 今天这篇文章让你能够在手机或者平板上使用Linux-Centos系统 让你随时随地都能操作命令行进行装13 2. 效果图展示…

【科普知识】伺服电机中的内置制动器

在工业自动化和机器人技术快速发展的今天&#xff0c;伺服电机作为核心驱动元件&#xff0c;其性能与功能直接影响整个系统的运行效率与稳定性。 近年来&#xff0c;一体化伺服电机技术不断融合创新&#xff0c;并逐步加入了许多新的硬件和软件的功能&#xff0c;为工业自动化领…

全域外卖是谁创办的公司?

全域外卖是谁创办的公司&#xff1f;这个问题是抽象的。正确的问法应该是全域外卖是谁研发的系统。 在了解全域外卖系统前&#xff0c;我们首先要了解什么是全域外卖&#xff0c;什么是全域团购。全域指的是多平台。当然这个平台是越多越好。实际上也可以理解为聚合外卖、聚合…

图数据库助力供应链柔性升级

导读 当今市场环境受短视频等流媒体影响&#xff0c;任何风险事件在社交网络中传播速度极其迅速&#xff0c;留给企业的反应时间按分秒计&#xff0c;传统供应链的年度计划面对剧烈变化的市场环境已失去意义。此外&#xff0c;受近年局势动荡的影响&#xff0c;市场需求和供应…

Unity 资源 之 限时免费的Lowpoly农场动物,等你来领!

Unity资源 之 Lowpoly farm animals 农村动物 前言资源包内容领取兑换码 前言 Unity 资源商店为大家带来了一份特别的惊喜——限时免费的农场动物资源&#xff01;这是一个充满趣味和实用性的资源包。 资源包内容 在这个资源包中&#xff0c;你可以找到丰富多样的低地养殖动物…

VScode代码片段自动转图标

注&#xff1a;在VScode编辑器中&#xff0c;编辑html、vue等文件时&#xff0c;特定代码片段&#xff08;token/xxx’等&#xff09;自动转图标显示&#xff0c;按住“ctrl鼠标左键”还可跳转“https://icones.js.org/collections”&#xff0c;个人感觉干扰代码编写&#xff…

VMware 安装Windows 7 SP1

1.下载镜像 迅雷&#xff1a;ed2k://|file|cn_windows_7_enterprise_with_sp1_x64_dvd_u_677685.iso|3265574912|E9DB2607EA3B3540F3FE2E388F8C53C4|/ 2.安装过程 自定义名字&#xff0c;点击【浏览】自定义安装路径 点击【浏览】&#xff0c;选择下载镜像的路径 结束啦~ Win…

详解http协议

什么是HTTP协议 定义 Http协议即超文本传送协议 (HTTP-Hypertext transfer protocol) 。 它定义了浏览器&#xff08;即万维网客户进程&#xff09;怎样向万维网服务器请求万维网文档&#xff0c;以及服务器怎样把文档传送给浏览器。从层次的角度看&#xff0c;HTTP是面向&am…

记录一个写SpringBoot中Hive数据可以正常提取但无法存到MySQL的bug

【背景】 我正在用SpringBoot框架写一个数据治理项目&#xff0c;目前所处阶段是将hive和hdfs中的元数据提取出来&#xff0c;存储到MySQL中&#xff0c;我的hive和hdfs上的数据存储在三台Linux服务器上&#xff08;hadoop102-104&#xff09;&#xff0c;MySQL在我本地Window…

C语言常用的内存操作函数

在C语言中经常会操作内存中的数据&#xff0c;下面来介绍一下常用的一些内存操作函数。 memcpy memcpy用于从source的位置开始向后复制num个字节到destination的内存位置&#xff0c;其函数原型如下&#xff1a; //destination是目标地址&#xff0c;source是源地址&#xff…

想要学会做抖店,每天重复这些步骤就可以了!

大家好&#xff0c;我是电商糖果 有很多朋友店铺开好之后&#xff0c;不知道每天要干嘛。 只知道把产品上架&#xff0c;然后等着出单。 说实话这种情况的朋友不是一个&#xff0c;而是很多。 糖果做小店也有很多年了&#xff0c;也开了多家店铺&#xff0c;下面就来给大家…