JS-基础入门

news/2024/10/24 23:14:16/文章来源:https://www.cnblogs.com/khrushchefox/p/18501551

JavaScript入门

JavaScript是解释性弱类型编程语言

  • 解释性: 逐行解释, 逐行执行
  • 弱类型: 不区分变量的数据类型

JS的组成

一般认为浏览器中JavaScript由三部分组成

  • ECMAScript: 基础语法
    由ECMA(原欧洲计算机制造商协会)进行标准化的一门编程语言, 主要规定了像变量, 数据类型, 流程控制, 函数等基础语法
  • DOM: 文档对象模型
    由W3C组织制定的标准, 通过 DOM 提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色、事件等)
  • BOM: 浏览器对象模型
    由各个浏览器厂商根据DOM在各自浏览器上的实现, 不同的浏览器会略有差异, 通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等

JS的书写位置

跟CSS一样, JS也有3种书写方式

  • 外部: 将JS文件单独保存, 再通过<script src="xxx.js">引入
    <script src="my.js"></script>

  • 内嵌: 在HTML文件中, 将JS代码写在<script>标签中

  • 行内: 现在几乎不用

变量

var a = 10

规则:

  • 标识符: 由字母(A-Z, a-z)、数字(0-9)、下划线()、美元符号( $ )组成,如:usrAge, num01, name
  • 变量名严格区分大小写, 如 appApp是两个不同的变量
  • 不能以数字开头
  • 不能是 关键字 或者 保留字

推荐使用 驼峰法 (首字母小写,后面单词的首字母需要大写)

如: myFirstName

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><script>// 声明变量, 同时赋值var age = 18console.log(age)age = 81console.log(age)// 使用let声明变量// 1. 不能重复声明// 2. 声明前不能引用// 3. 可以修改变量值// 4. 全局声明不会成为全局对象的属性let uname = 'xiaoming'uname = 'xiaomei'// 使用const声明常量// 1. 不能重复声明// 2. 不能直接修改常量值const str = 'hello'str = 'world'</script></body>
</html>

数据类型

简单数据类型(值类型)

简单数据类型 说明 默认值
Number 数字型, 包含整型和小数型, 如21, 0.2333 0
String 字符型, 如'张三', 字符串带引号 ''(空字符)
Boolean 布尔型, 如true, false; 等价于1和0 false
Undefined 未定义, 通过var声明但是未赋值就是undefined undefined
Null null

数字型

var num = 10 // num 数字型
var PI = 3.14 // PI 数字型
var num3 = 0xFF // 16进制数console.log(Number.MAX_VALUE) // 数字型的最大值
console.log(Number.MIN_VALUE) // 数字型的最小值
console.log(Number.MAX_VALUE * 2) // Infinity 无穷大
console.log(-Number.MAX_VALUE * 2) // -Infinity 无穷大console.log('小小胖' - 100) // NaN 非数

字符型

单引号, 双引号都可以, 推荐使用单引号, HTML中一般使用双引号

var str = '我是一个"程序员"'
console.log(str)
var str1 = "我是一个'程序员'"
console.log(str1)
var str = '10' + '20'
console.log(str) // 1020
console.log(typeof str) // string
// 这里的typeof是一个关键字. 当作运算符使用, 整体表达式有返回值
// typeof()是当作函数使用// 模板字符串
let abc = 'Hello'
str = `${abc} world` // Hello world
转义符 解释说明
\n 换行符,n 是 newline 的意思
\\ 斜杠 \
\' ' 单引号
\" ” 双引号
\t tab 缩进
\b 空格 ,b 是 blank 的意思

布尔型

  • true 表示真
  • false 表示假

引用数据类型

Object: 对象

数据类型转换

显式转换

最常见的是字符型转数值型

var num1 = prompt('请您输入第一个值:')
var num2 = prompt('请您输入第二个值:')
var result = parseInt(num1) + parseInt(num2)
alert('您的结果是:' + result)

隐式转换

+的隐式转换

// 只要+号的一边是字符, 最终的结果就是字符
console.log('123' + '456') // '123456'
console.log('123' + 456) // '123456'
console.log('123' + true) // '123true'// 特殊
undefined + 1 // NaN

==的隐式转换

  • 字符型 转换成 数字型
  • 布尔型 转换成 数字型
'1' == 1 // true
true == 1 // true
'0' == false // true// 特殊的
NaN != NaN // true
undefined == null // true

关于Boolean类型的转换

空字符串(''), NaN, 0, null, undefined => false

其余的全部 => true

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><script>// 1. +: 只要有一个数据是字符型, 那么其他的操作数据都会被隐式转换为字符console.log('123' + true) // 123true// 2. *1 -0: 将数字类型的字符串, 转换为纯数字console.log('100' * 1, '200' - 0)// 3. 比较 ==//  字符型 => 数字//  布尔型 => 数字console.log('1' == true) // true// 4. 转布尔型console.log(!!111) // 111 => trueconsole.log(!!0) // 0 => false</script></body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于C语言指针类型的总结

关于C语言指针类型的总结前言 我个人将目前在C语言中所遇到的指针归类为8种,至于为何写第九点,是因为我个人认为第九点极容易与第五点混淆,故总结如下: 1.普通指针普通指针即最常见的如:int * 、 char*等 甚至于也可将一个数组如arr[5]的数组名arr看作是指针类型(因为指…

ClickHouse的下载与安装部署

ClickHouse 安装 一、了解ClickHouse ClickHouse是一个关系型数据库,说到关系型数据库,我们之前也学习到一个数据库Mysql,但是两者之间是有着很大区别的。MySQL数据库一般存储较少的数据(100万以内),而今天学习的ClickHouse存储的数据就相当之大,可以存储亿条数据。再者…

淘宝天猫卖家电话采集软件下载地址

淘宝天猫卖家电话采集软件下载地址 采集淘宝天猫店铺电话是一个相对复杂且敏感的任务,因为淘宝和天猫平台通常不允许直接大规模采集店铺数据,这涉及到隐私保护和平台规则的问题。然而,我可以提供一些合法且合规的方法来获取店铺联系方式,并给出一个简化的代码示例来说明如何…

帝国cms后台忘记了安全提问及密码该如何找回?

| 找回项目 | 方法 | |------------------|--------------------------------------------------------------------| | 忘记后台管理员帐号 | 用phpmyadmin查看`phome_enewsuser`表里的记录:查…

CTF Week8 WP

作业管理系统 简单的PHP上传,传一个带shell的php文件就可以了.示例文件 <?php echo shell_exec("ls /"); echo shell_exec("cat /flag"); phpinfo(); ?>来源:题库LocalCat 验证是否为本地用户,在请求头部添加X-Forwarded-for: 127.0.0.1即可.来…

忘记EyouCMS后台密码解决办法

如果你忘记了EyouCMS的后台登录密码,可以通过以下步骤快速重置: 1. 准备重置文件下载附件:从可信来源下载重置密码的脚本文件setpwd.php。 解压文件:将下载的压缩包解压,得到setpwd.php文件。2. 上传文件上传文件:将setpwd.php文件上传到你的网站根目录。通常,网站根目录…

如何评估项目进度的风险和不确定性

项目进度的风险和不确定性是项目管理中的关键方面,其评估可以通过多种方法和工具来进行。关键步骤包括识别潜在风险因素、进行定性和定量的风险分析、制定应对策略,以及定期监控和调整风险管理计划。其中,制定应对策略是风险评估中至关重要的一步,它涉及根据风险分析的结果…

wireshark学习笔记

wireshark学习笔记 从一道面试题开始A ping B 理论分析注意:通过MAC判断--1单播,2组播,3广播, 手动修改MAC时不允许修改成组播或广播。 十六进制0x0b转为二进制时为11A需要判断B是否和它是一个网段 A通过自己的掩码判断自己的网段是192.168.26.0/24,用自己的掩码与B主机的…

免费的erp系统有哪些

在市场上,有一些免费的ERP系统,它们提供了成本效益高、功能齐全的解决方案。这些系统包括:1. Odoo;2.Dolibarr;3.ERPNext;4.xTuple PostBooks;5.FrontAccounting;6.Apache OFBiz;7.Metasfresh。Odoo是一个全面的开源ERP解决方案,适用于中小型企业,尤其是那些需要高度…

扩展KMP

前言 扩展KMP又称Z函数,可以快速的求出一个字符串的每一个后缀的与其的LCP(最大公共前缀)长度。 至于为什么要学习exKMP,因为(数据规模很上进)我们都是上进的OIer。 算法思路 暴力朴素的算法 将\(n\)个字符的字符串S中第\(i\)位开始的后缀与S的开头一一比较,求出LCP数组…

运算

模二加(异或)运算模 即取余 模运算 当两个整数 a 和 b 模 n 同余,记作 a≡b(mod n),意味着 a 和 b 被 n 除后余数相同。 基本性质:封闭性:如果 a≡b(mod n) 且 c≡d(mod n),那么 a+c≡b+d(mod n),以及 a⋅c≡b⋅d(mod n)。 乘法逆元:对于任何整数 a 和正整数 n,存在一…

Knapsack题解

题面下划线:符合单调性 举例:k=3W : 1 2 3 4 5V : 6 5 1 2 4g: 15 11 7 6 4