JavaScript基础语法

news/2024/10/5 21:19:49

原文链接:https://blog.csdn.net/m0_67683346/article/details/127591079

6.2、console.log
在控制台打印一个日志(一般是给程序员看的):

console.log("hello JavaScript");
需要在开发者工具中的控制台查看打印结果: 

 

★ console是JS中的一个“对象”,. 表示取对象中的某个属性或方法,console.log就表示:使用console对象的log方法~

    <script>var name = "曹植";let age = 20;</script>

  

(1) var、let并非是变量的类型,只是用来声明name和age是一个变量;

(2) 变量的类型并没有显示写出来,具体的类型根据=后面的值来区分的;

(3) var写法是老式写法,坑比较多,而let是新式写法,比较推荐使用~

 

2.1.1几个特殊的数字值:

(1) Infinity:无穷大,大于任何数字,表示数字已经超过了JS能表示的范围;

(2) -Infinity:负无穷大小于任何数字,表示数字已经超过了JS能表示的范围;

<script>
//使用一个正小数除0得到无穷大
console.log(1.5/0);
//使用一个负小数除0得到负无穷大
console.log(-1.5/0);
</script>


注意:负无穷大和无穷小不是一回事,无穷小指无限趋近于0~

(3) NaN:Not a number,表示当前的结果不是一个合法的数字。

<script>
console.log("hello" - 1);
</script>

★ JS中的数组也可以“当做Map来存放键值对”:

<script>
let arr = ["刘备","关羽","张飞"];

arr[-1] = "赵云";
arr["hello"] = "world";
arr[undefined] = 999;

console.log(arr);
</script>


★ 通过代码运行结果可以发现,数组长度并没有发生变化,实际上这些键值对更像是数组这个对象中的一个自定义属性,既可以通过[ ] 访问,也可以通过 . 访问:

<script>
let arr = ["刘备","关羽","张飞"];

arr[-1] = "赵云";
arr["hello"] = "world";
arr[undefined] = 999;

console.log(arr.hello);

</script>


★ 虽然JS支持这种操作,但我们一般不这样使用,JS里有专门的map类型来表示键值对~

5.4.2使用splice方法

splice既可以进行插入,也可以进行删除,还可以进行替换操作:

★ 插入

<script>
let arr = [1,2,3,4,5,6,7];
//往2下标插入一个"hello"
arr.splice(2,0,"hello");
console.log(arr);
</script>


splice方法有三个参数:

①第一个参数表示要替换的下标位置;

②第二个参数表示要替换的数组长度,参数是0表示不对原数组内容调整,只是新增元素;

③第三个参数表示要替换到指定位置的新元素。

★ 替换

<script>
let arr = [1,2,3,4,5,6,7];
//把3下标元素替换成"hello"
arr.splice(3,1,"hello");
console.log(arr);
</script>


★ 删除

<script>
let arr = [1,2,3,4,5,6,7];
//删除3下标往后的3个元素
arr.splice(3,3);
console.log(arr);
</script>


如果不传第三个参数的话,就可以起到删除元素的效果~

7、对象
JS的对象类似于简化版的Java中的对象~

7.1创建对象
7.1.1使用{}创建对象

对象中的属性和方法使用键值对的形式来组织;

键值对之间使用 , 分割,最后一个属性后面可有可无;

键和值之间使用 : 分割;

方法的值是一个匿名函数。

<script>
let person = {
name: '坤坤',
age: 18,
sing: function(){
console.log(this.name+"正在唱鸡你太美");
}
}
console.log(person.name);
person.sing();
</script>


7.1.2使用构造函数创建对象

如果需要创建多个相同的对象,可以使用构造函数的方式:

<script>
function Person(name,age,singMsg){
this.name = name;
this.age = age;
this.sing = function(){
console.log(singMsg);
}
}
let person1 = new Person("坤坤",18,"鸡你太美");
let person2 = new Person("鲲鲲",20,"基尼太美");
console.log(person1.name);
person2.sing();
</script>

JS中虽然有“类”的概念,但是并没有封装、继承、多态的机制,所以JS不是一个“面向对象”的语言。

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

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

相关文章

Leetcode419 甲板上的战舰

最近以来,我在力扣上坚持完成每天一题,今天系统推的题目为《甲板上的战舰》,在此记录一下。 题目描述如下: 给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 X 或者是一个空位 . ,返回在甲板 board 上放置的 战舰 的数量。 战舰 只能水平或者…

$.extend()使用详解

原文链接:https://blog.csdn.net/shadow_zed/article/details/106419848 1. jquery.extend(), 为jQuery类添加类方法例子1 例子2 调用直接用$.类名 2. jquery.extend(), 将两个或更多对象的内容合并到第一个对象。 当我们提供两个或多个对象给$.extend(),对象的所有属性…

pgAdmin未授权命令执行漏洞(CVE-2022-4223)

首先从代码层面进行分析,接口validate_binary_path​ 最后调用了 subprocess.getoutput(​来执行了命令,这一部分代码是对传入的路径进行检测,如果是在 linux 下直接拼接,在windows 下部署,后缀中会添加 .exe​ 。​ https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v5.…

网络视频与网络文件下载加速器

梳理一下免费的网络视频、网络文件下载加速器。 这些文件下载加速器的基本原理都一致:单文件分割 + 多线程并行下载,最终达到充分用尽程序所在网络带宽的提速效果。IDM | 闭源项目官网https://www.internetdownloadmanager.com/download.html硕鼠(FLVCD) | 闭源/已下架 metub…

07-元素的隐藏和溢出

元素的隐藏和溢出1 方法1: display设置为none <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport&…

基环树

基环树的定义为:一个有向或无向图中,只含有一个环的图,形式化的表达为:关于这种形状关键点主要在于找环,那么我们可以一步一步的去寻找,当这个点走着走着走到了某个环里,我们可以直接遍历整个环,然后打个标记,这样环就找到了 具体的例题: E - Reachability in Functi…

【日记】挂着相机总是被认成专业人士……(766 字)

正文所有钢笔墨水都写完了,今天先用签字笔吧,懒得打墨水了。这货跟我抢被子,我没抢赢…… 本来空调被就薄,一个人很容易就全卷上跑了。于是我半夜冷醒好多次,每次半梦半醒都要把自己的衣服下摆往下拉。这样感觉才会好一些。这吊人还嘲笑我抢不过,妈耶。于是早上非常困。跟…

Xcode 16 beta (16A5171c) 下载 - Apple 平台 IDE

Xcode 16 beta (16A5171c) 下载 - Apple 平台 IDEXcode 16 beta (16A5171c) 下载 - Apple 平台 IDE IDE for iOS/iPadOS/macOS/watchOS/tvOS/visonOS 请访问原文链接:https://sysin.org/blog/apple-xcode-16/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.orgXco…