JavaScript 快速入门

news/2025/3/19 22:29:47/文章来源:https://www.cnblogs.com/kyle-7Qc/p/18781941

1. 注释

// 以双斜杠开头直到行末的是注释,注释是给人看的,会被浏览器忽略/* 在这中间的也是注释,将被浏览器忽略 */

2. 基础语法

  • JavaScript的语法和Java语言类似,每个语句以;结束,语句块用{...}。

  • JavaScript并不强制要求在每个语句的结尾加;浏览器中负责执行JavaScript代码的引擎会自动在每个语句的结尾补上;。

  • JavaScript严格区分大小写,如果弄错了大小写,程序将报错或者运行不正常。

# 赋值语句
var x = 1; 
下面的一行代码包含两个语句,每个语句用;表示语句结束:
var x = 1; var y = 2; // 不建议一行写多个语句!# 语句块是一组语句的集合,例如,下面的代码先做了一个判断,如果判断成立,将执行{...}中的所有语句:if (2 > 1) {x = 1;y = 2;z = 3;}"注意花括号{...}内的语句具有缩进,通常是4个空格。缩进不是JavaScript语法要求必须的,但缩进有助于我们理解代码的层次,
所以编写代码时要遵守缩进规则。很多文本编辑器具有“自动缩进”的功能,可以帮助整理代码。"# {...}还可以嵌套,形成层级结构:if (2 > 1) {x = 1;y = 2;z = 3;if (x < y) {z = 4;}if (x > y) {z = 5;}}
  • 输出:

    console.log('Hello,world')  //Hello,world
    

3. 数据类型

3.1 Number:

  • JavaScript不区分整数和浮点数,统一用Number表示,以下都是合法的Number类型:

     123; // 整数1230.456; // 浮点数0.4561.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5-99; // 负数NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity"要注意,JavaScript的Number不区分整数和浮点数,也就是说,12.00 === 12。(在大多数  其他语言中,整数和浮点数不能直接比较)并且,JavaScript的整数最大范围不是±2^63,而是±2^53,因此,超过2^53的整数就可能无法精确表示:"
    
  • 示例:

      console.log(1+3)     // 4console.log((1+3)*3) // 12console.log(2/0)     //Infinityconsole.log(0/0)     //NaNconsole.log(10 % 3)  // 1  取余console.log(10.5 % 3)// 1.5// 计算圆面积:var r = 1;var s = 3.14 * r * r;console.log(s)  //3.14// 打印Number能表示的最大整数:console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991console.log(Number.MAX_SAFE_INTEGER + 1); // 9007199254740992console.log(Number.MAX_SAFE_INTEGER + 2); // 9007199254740992(精度丢失)
    

3.2 BigInt

  • 要精确表示比2^53还大的整数,可以使用内置的BigInt类型,

  • 它的表示方法是在整数后加一个n,例如9223372036854775808n

  • 也可以使用BigInt()把Number和字符串转换成BigInt:

  • 使用BigInt:

    var bi1 = 9223372036854775807n;
    var bi2 = BigInt(12345);
    var bi3 = BigInt("0x7fffffffffffffff");
    console.log(bi1 === bi2); // false
    console.log(bi1 === bi3); // true
    console.log(bi1 + bi2);  //9223372036854788152n
    console.log(bi3) //9223372036854775807n使用BigInt可以正常进行加减乘除等运算,结果仍然是一个BigInt,但不能把一个BigInt和一个Number放在一起运算console.log(1234567n + 3456789n); // OK
    console.log(1234567n / 789n); // 1564, 除法运算结果仍然是BigInt
    console.log(1234567n % 789n); // 571, 求余
    console.log(1234567n + 3456789); // Uncaught TypeError: Cannot mix BigInt and other types
    

3.3 null和undefined

  null表示一个“空”的值,它和0以及空字符串''不同,0是一个数值,''表示长度为0的字符串,而null表示“空”。在其他语言中,也有类似JavaScript的null的表示,例如Java也用null,Swift用nil,Python用None表示。
但是,在JavaScript中,还有一个和null类似的undefined,它表示“未定义”。JavaScript的设计者希望用null表示一个空的值,而undefined表示值未定义。事实证明,区分两者的意义不大。大多数情况下,我们都应该用null。undefined仅仅在判断函数参数是否传递的情况下有用。

3.4 布尔值

  • 布尔值和布尔代数的表示完全一致,一个布尔值只有true、false两种值,要么是true,要么是false

  • 可以直接用true、false表示布尔值,也可以通过布尔运算计算出来:

    true; // 这是一个true值
    false; // 这是一个false值
    2 > 1; // 这是一个true值
    2 >= 3; // 这是一个false值
    console.log(2>1)  // true
    console.log(0>1)  // false
    

4. 运算符

  • &&运算是与运算,只有所有都为true,&&运算结果才是true:

    true && true; // 这个&&语句计算结果为true
    true && false; // 这个&&语句计算结果为false
    false && true && false; // 这个&&语句计算结果为false
    
  • ||运算是或运算,只要其中有一个为true,||运算结果就是true:

    false || false; // 这个||语句计算结果为false
    true || false; // 这个||语句计算结果为true
    false || true || false; // 这个||语句计算结果为true
    
  • !运算是非运算,它是一个单目运算符,把true变成false,false变成true:

     ! true; // 结果为false! false; // 结果为true! (2 > 5); // 结果为true
    
  • 布尔值经常用在条件判断中

        var age = 15;if (age >= 18) {alert('adult');} else {alert('teenager');}
    

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

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

相关文章

202108032324 - kafka的生产流程

由上图可以看出:KafkaProducer有两个基本线程: 主线程: 负责消息创建,拦截器,序列化器,分区器等操作,并将消息追加到消息收集器 RecoderAccumulator中; 消息收集器RecoderAccumulator为每个分区都维护了一个Deque<ProducerBatch> 类型的双端队列。 ProducerBatch…

Cython二进制逆向系列(三)运算符

在这篇文章里,我们会讨论Cython是如何处理运算符的(数学运算符、位运算符、in/not in 运算符、 ==运算符与逻辑运算符)。总的来叔其中大部分是调用虚拟机api来实现的。Cython二进制逆向系列(三)运算符在开始前,先给出本文用到的py源代码 def test1(x, y):# 数学运算符a…

QOJ 9785 Shrooks

曼哈顿距离转切比雪夫距离,对限制的贪心满足,扩宽限制,简化信息首先考虑限制的形式:对于两点 \((x_1, y_1), (x_2, y_2)\),要求 \(|x_1 - x_2| + |y_1 - y_2| \le n\)。 但是这个式子与 \(x_1, x_2, y_1, y_2\) 这 \(4\) 个值都强相关,且这里的绝对值也并不好拆开处理。 …

golang的GC机制

一、垃圾回收 什么是垃圾回收?垃圾回收(GC,garbage collection)是自动内存管理的一种形式,通常由垃圾收集器收集并适时回收或重用不再被对象占用的内存,比如众所周知的Java语言就能很好的支持GC。后起之秀——Go语言也同样支持垃圾回收,它使得Go程序员在编写程序的时候不…

fastjson漏洞复现(fastjson 1.2.47)

原理: Fastjson 的 @type 字段允许反序列化时动态指定类,攻击者可以通过指定带有危险行为的类,并结合 RMI/LDAP 远程加载恶意类,从而实现命令执行。开启vulhub靶场//如何验证是否存在fastjson反序列化漏洞 有json数据传输的地方可能存在 可以尝试使用dnslog带外但是不知道…

基于神经网络逆同步控制方法的两变频调速电机控制系统matlab仿真

1.课题概述两电机变频调速系统是一个多输入多输出非线性强耦合的控制系统。本课题使用神经网络构造原系统的a阶逆系统,设计线性闭环调节器进行控制,通过matlab对系统进行仿真。对两电机变频调速系统更为精确地实现了张力和速度间的解藕控制。2.系统仿真结果 (完整程序运行后…

使用gradio实现实时语音识别

这里通过gradio来实现实时语音识别,通过上传一个文件,当点击提交后则在右侧输出其相应识别的文字。 实现代码比较简单,如下所示: import gradiodef convert(file_bytes):# 语音识别方法,其中file_bytes是采样率与对应numpy.ndarray实例return recognition_func(file_bytes[1])d…

英语四级跟练计划第一天

前言 今天给英语四级报了名,以我以往英语的水平来看,如果不早早开始复习,绝无通过的可能,走投无路的我只好去向deepseek求助,上一次320分的考生,这一次该付出何等的努力才可以考到425分,如此为我制定了90天的四级复习计划。我相信有很多人和我一样,都被英语四级通过给困…

202107191556 - 层次分析法计算流程

构造矩阵 一致性检验计算最大特征值计算一致性指标CI CI = ( λ - n ) / ( n - 1 )随机一致性指标RI取值计算一致性比率CR计算特征向量列向量归一化 求行和后归一化根据特征向量求最大特征值计算过程

crontab 命令

crontab -l 查看所有任务 crontab -e 编辑任务* * * * * /www/server/php/82/bin/php /www/wwwroot/default/1.php >> /www/wwwroot/default/cron_log.log 2>&1cd /www/wwwroot/www.pk777slots.com/ && php think test在那个目录运行 cd /www/wwwroot/www…

python实验一 20241202王凯

课程:《Python程序设计》 班级: 2412 姓名: 王凯 学号:20241202 实验教师:王志强 实验日期:2025年3月12日 必修/选修: 公选课 1.实验内容 (1)提前了解了一下python,了解它的地位排名,并熟悉Python开发环境;(2)练习Python运行、调试技能;(编写书中的程序,并进行…