JavaScript编程语言入门与常见问题

入门知识

起源与发展

++JavaScript起源于1995年,由Netscape公司的Brendan Eich设计并实现,最初名为Mocha,后更名为LiveScript,最终定名为JavaScript以借助Java的流行度。1997年,ECMA国际组织发布了ECMAScript标准,使JavaScript成为标准化的脚本语言。随后经历了多个版本的更新和改进,如ES3引入正则表达式和异常处理,ES5增加严格模式和JSON支持,ES6带来了块级作用域、箭头函数、类等现代化特性。++

变量与数据类型

在JavaScript中,使用变量来存储和操作数据。声明变量时,可以使用关键字varletconst。其中,var是ES5中的声明方式,letconst是ES6引入的声明方式。示例如下:

javascript 复制代码
// 使用 var 声明变量
var name = "John";
// 使用 let 声明变量
let age = 25;
// 使用 const 声明常量
const pi = 3.14;

函数

函数是JavaScript中的重要概念,用于封装可重复使用的代码块。函数可以有参数和返回值。示例如下:

javascript 复制代码
function add(a, b) {
    return a + b;
}
let result = add(3, 5);
console.log(result); 

条件语句

条件语句用于根据不同的条件执行不同的代码块。常见的条件语句有if-elseswitch。示例如下:

javascript 复制代码
let num = 10;
if (num > 5) {
    console.log("num 大于 5");
} else {
    console.log("num 小于等于 5");
}

let day = 3;
switch (day) {
    case 1:
        console.log("星期一");
        break;
    case 2:
        console.log("星期二");
        break;
    case 3:
        console.log("星期三");
        break;
    default:
        console.log("其他");
}

循环语句

循环语句用于重复执行一段代码。常见的循环语句有forwhiledo-while。示例如下:

javascript 复制代码
// for 循环
for (let i = 0; i < 5; i++) {
    console.log(i);
}

// while 循环
let j = 0;
while (j < 5) {
    console.log(j);
    j++;
}

// do-while 循环
let k = 0;
do {
    console.log(k);
    k++;
} while (k < 5);

在HTML中使用JavaScript

可以通过以下几种方式在HTML中使用JavaScript:

  • 行内嵌入式:直接在HTML标签的事件属性中编写JavaScript代码。
html 复制代码
<button onclick="alert('Hello!')">点击我</button>
  • 页内嵌入式 :在HTML文档的<script>标签内编写JavaScript代码。
html 复制代码
<!DOCTYPE html>
<html>
<head>
    <title>我的第一个 JS 程序</title>
</head>
<body>
    <script>
        alert('Hello, World!');
    </script>
</body>
</html>
  • 外部式(外链式) :将JavaScript代码写在一个独立的.js文件中,然后在HTML文档中使用<script>标签引入该文件。
html 复制代码
<!DOCTYPE html>
<html>
<head>
    <title>引入外部 JS 文件</title>
</head>
<body>
    <script src="script.js"></script>
</body>
</html>

常见问题

变量声明相关

在早期使用var声明变量时,存在变量提升问题,即变量可以在声明之前使用,值为undefined。而ES6引入的letconst解决了变量提升问题,具有块级作用域。

函数参数默认值设置问题

在设置函数参数默认值时,需要注意参数的顺序和默认值的合理性,避免出现逻辑错误。例如,如果一个函数有多个参数,默认值参数应该放在后面。

跨域问题

在进行数据请求时,可能会遇到跨域问题,即浏览器出于安全考虑,限制页面从不同源(协议、域名、端口)加载资源。可以通过JSONP、CORS等方式解决。

相关推荐
山河木马4 小时前
渲染管线-计算得到gl_Position(顶点着色器)之后续GPU流程
javascript·webgl·图形学
竹林8184 小时前
用 The Graph 查询链上数据实战:从手搓 RPC 到 Subgraph,我的 NFT 项目数据加载快了 10 倍
前端·javascript
kyriewen7 小时前
别再每次都 Google 了:我整理了前端日常最常踩的 10 个 Git 坑,附速查表
前端·javascript·git
SmartBoyW8 小时前
深入ECMAScript规范:彻底搞懂JS隐式类型转换与底层ToPrimitive机制
前端·javascript
用户852495071848 小时前
解密 JavaScript 中的 this:谁才是真正的调用者?
javascript·面试
Heo8 小时前
Vite进阶用法详解
前端·javascript·面试
铁皮饭盒10 小时前
Next.js 风格路由内置?Bun FileSystemRouter 凭啥这么香
javascript
小林ixn11 小时前
别再背八股了!从 5 个真实场景彻底搞懂 JavaScript 的 this
javascript
东风破_11 小时前
JavaScript 面试常考的字符串算法:从反转字符串到回文判断
前端·javascript
巴勒个啦11 小时前
D3.js 入门实战:用力导向图可视化项目依赖关系
javascript