Js基础

news/2024/9/24 17:38:19

JS编写位置

将代码编写在html网页script标签
<script>// 弹出alert("test")// 控制台输出日志console.log("hello world")// 向网页输入内容,即往body中写内容document.write("write content")</script>
将代码编写在外部的js文件中
<!-- js 文件路径 -->
<script src="./js/index.js"> </script>

如果script通过src引入了js文件,就不能在标签内部再编写js代码,如果有需求在下方新写一个script标签,在标签内部编写代码

将代码编写到指定属性中
<!-- 点击按钮的时候 触发js alert效果-->
<button onclick="alert('弹出')"></button><!-- 点击超链接的时候触发js效果 -->
<a href="javascript:alert('pop');"></a>

基本语法

单行注释

// 注释

多行注释

/*多行注释
*/

代码规范

JS严格区分大小写

JS中多个换行、空格会被忽略

JS中每条语句都应该以;分号结尾

JS中有自动添加分号的机制,如果不写分号,解释器会自动添加

字面量和变量

字面量就是一个值(例如1、true、"a"等具体的值),所代表的含义就是他的字面意思,在js中所有的字面量都可以直接使用

变量用来存储字面量,变量中存储的字面量可以随意修改,js使用let声明变量

声明变量
使用let关键字声明变量
// 声明变量,后续赋值
let x 
x = 100
// 声明变量直接复制
let y = 100
// 声明多个变量
let a,b,c
使用var关键字声明变量
var a
a = 1var b = 10var e,d,g 
let 和var的区别

let

块级作用域:使用let声明的变量具有块级作用域,即变量只在其所在的代码块(如if语句块、for循环块、while循环块等)内可见

let不存在变量提升。如果在声明之前访问let声明的变量,会抛出ReferenceError错误

在同一个块级作用域内,不能重复声明同一个变量,否则会抛出SyntaxError错误

var

函数作用域:使用var声明的变量具有函数作用域。这意味着在函数内部声明的变量在整个函数内都是可见的,并且在函数外部不可访问(除非通过一些特殊情况,如将函数内部的变量赋值给全局对象)

使用var声明的变量存在变量提升。这意味着变量可以在声明之前被访问,只不过在声明之前其值为undefined

在同一个作用域内,可以多次使用var声明同一个变量,后面的声明会覆盖前面的声明

为了避免变量提升带来的混乱,最好的做法是在使用变量之前先声明它们,并且遵循良好的代码规范,将所有的变量声明放在函数或代码块的顶部,建议使用 let,以避免由于变量提升而产生的意外行为

变量的内存结构

变量中不存储任何值,而是存储值的内存地址,通过内存地址找到对应的值

如果字面量已经存在于内存当中,声明多个同样的变量不会在内存创建多个值,如果有值,则直接使用,没有再进行创建

image-20240924170916047

常量

使用const声明常量,常量只能赋值一次,后续不能修改

常量声明之后,常量对应的内存地址,被锁死

除了常规的常量外,一些对象类型的数据,如果不希望被修改,也会声明为常量

const TEST = 10

标识符

所有可以由我们自主命名的内容,都可以认为是一个标识符,比如变量名、函数名、类名

使用标识符的命名规范:

只能包含字母、数字、下划线、$,不能以数字开头

不能是js中的关键字和保留字,也不建议使用内置的函数或者类名作为变量名

命名规范使用驼峰命名法

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

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

相关文章

吴辰曦的自我介绍

大家好!我是吴辰曦。我认为可以用乐观,活泼,慢热来形容我。 我性格乐观,总是能看到生活中的美好,相信无论遇到什么困难都能找到解决办法。我也很活泼,喜欢和朋友们一起玩耍、交流。不过呢,我还有点慢热,刚开始可能会比较安静,但一旦熟悉起来,就会展现出最真实的自己 …

Linux系统CentOS下挂载磁盘

1. 挂载磁盘步骤总结如下 1. 对磁盘进行分区 2. 对磁盘进行格式化 3. 将磁盘挂载到对应目录 4. 设置开机自动挂载磁盘 2. 对磁盘进行分区 2.1 查看系统设备信息 lsblk指令显示所有块设备信息:显示系统中所有的块设备信息,包括磁盘和分区 lsblk2.2 查看未挂载的磁盘 fdisk -l2…

软路由系统 --- OpenWrt下载安装中文语言包

刚安装好的OpenWrt登录Web管理后台后,发现界面是英文的,在系统的语言选项也只有English,没有中文可切换,那该如何呢?那我们就给它安装个中文的语言包,再来进行切换,看看能行不能行!如下介绍三种方法进行安装中文语言包。openwrt系统:OpenWrt版本:22.03.5中文语言包:…

【每周例题】蓝桥杯 C++ 生物芯片

生物芯片 题目 生物芯片题目分析 1.下面是亮灯规律,剩下的以此类推:我们可以看到,不亮灯的都是n的平方 2.所以亮灯的数目=该区间内所有灯的数量-不亮灯的数目(简而言之,所有不亮灯的号码开方后都是整数) 代码#include <iostream> #include <cmath> using…

CSDN文章导出md并迁移至博客园

一、获取所有文章地址 1.进csdn首页,点击自己的头像 2.在个人主页界面,按F12打开控制台,并找到network,找到get-business开头的请求,右键copy他的url3.选择console,输入一下代码,其中fetch里面的url是你刚才复制的地址,并把里面的size改为100(这个是返回的文章内容数,…

C#WinForm窗口或UserControl调用WPF的UserControl卡死!

辛辛苦苦的把WPF的界面弄好,但在VS中的的工具栏中把WPF的UserControl拖入到WinForm中时,VS会卡10分钟左右,然后就卡死。 最终找到原因:在定义的类整错了图中红色区域应该是Vm_Tjlx。而不是vm_Tjlx 查找原因的方法:1、在WinForm中可以用代码调用WPF。2、写一段代码就调试一…

【触想智能】工业显示器在智慧城市中的应用市场分析

随着智能技术的快速发展和智慧城市的不断兴起,工业显示器作为智慧城市基础设施的重要组成部分,正逐渐成为市场热点。触想工业显示器TPC-M200系列工业显示器不仅在监控、交通、能源等领域有着广泛应用,还在提升智慧城市管理和运营效率方面发挥着重要作用。下面触想智能小编将…