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等方式解决。

相关推荐
Eloudy30 分钟前
ReAct 原理简介
前端·javascript·人工智能·react.js·agent·gpu
小努蛋31 分钟前
linux编译openresty异常问题,lua_cjson.c:706:5: 错误: ‘for‘ 循环初始化声明只在 C99 或 C++ 模式下允许
开发语言·lua·openresty
qz_Serene1 小时前
C++:类和对象(上)
开发语言·c++
西安景驰电子1 小时前
《PTP精确时间协议系列》第一篇:从原理到应用,全面解读IEEE 1588
linux·运维·服务器·开发语言·网络·windows·php
ctlover1 小时前
Python文件操作
开发语言·python
luj_17682 小时前
塔防牌:策略与卡牌的智慧碰撞
服务器·c语言·开发语言·经验分享·算法
ZJU_统一阿萨姆2 小时前
【DSH】如何将 DeepSeek Harness 嵌入生产环境?万字解构 DeepSeek Agent Harness 的运行机制与安全边界
前端·javascript·安全
wuyk5552 小时前
3.链表:用指针串联的动态数据结构
c语言·开发语言·数据结构·链表
weixin_383196472 小时前
java基础面试题@Autowired和@Resource区别
java·开发语言
sunly_3 小时前
TypeScript总结:16、面向对象速查
前端·javascript·typescript