JavaScript 基础

本文介绍JavaScript的基础知识,包括语言特性、基本语法、事件处理等,并通过实例演示如何创建动态网页。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 什么是JavaScript

JavaScript 简称 JS,是一种非常成熟的动态编程语言,为HTML文档提供动态交互功能。 由Mozilla项目的联合创人,Mozilla基金会和Mozilla公司的Brendan Eich开发,JavaScript 和Java是两种完全无关的语言,语法及应用各不相同。

JavaScript非常灵活,从响应按钮点击到开发游戏,动画以及数据库驱动应用程序都能完成。

JavaScript提供的功能包括:

  • 浏览器应用程序编程接口(API) - API 内建到Web浏览器中,可以动态创建HTML,设置CSS样式,可以从用户的网络摄像头收集和处理视频流,还能够生成3D图形和音频样本。
  • 第三方API,允许开发人员在其网站上合并其他内容提供商(如Twitter或Facebook)的功能。
  • 可以应用于HTML的第三方框架和库,以实现快速构建网站和应用程序。

2 Hello World

先创建一个文件夹叫做scripts, 在scripts内新建一个main.js文件,内容如下:

var myHeading = document.querySelector('h1');
myHeading.textContent = 'Hello world!';

scripts文件夹外部新建一个index.html文件,在结束的</body>标签之前加入下列语句:

<script src="scripts/main.js"></script>

index.html内容如下:

<!DOCTYPE html>
<html> 
    <head>   
        <meta charset="utf-8">   
        <title>My test page</title>    
    </head> 
    <body>
        <h1>Mozilla is cool</h1>
        <p>At Mozilla, we are a global community of</p>
        <ul> <!-- changed to list in the tutorial -->
            <li>technologists</li>
            <li>thinkers</li>
            <li>builders</li>
            </ul>   
        <script src="scripts/main.js"></script>
    </body>
</html>

打开index.html文件,就会发现h1标签的内容被替换成了Hello World!

Hello world!

At Mozilla, we are a global community of

  • technologists
  • thinkers
  • builders

之所以将 <script src="scripts/main.js"></script>加在结束标签之前,是因为, 浏览器按照HTML在文件中出现的顺序加载,如果首先加载JavaScript,它有可能不工作。因此,将JavaScript放在文件末尾之前通常是最好的策略。

函数querySelector()用于抓取heading的引用,然后将引用存储到名为myHeading的变量中。上述特征是 Document Object Model (DOM) API 的一部分,用以操作文档。

3 基本语法

3.1 变量

变量用于存储值,声明变量用var关键字,结束的分号不是必须的:

var myVariable;

JavaScript 对大小写敏感,变量的使用同其他语言:

var myVariable = 'Bob';
myVariable = 'Steve';

变量的数据类型:

变量说明例子
String文本序列,为表明值为字符串,必须将值放在引号中var myVariable = 'Bob';
Number不用引号var myVariable = 10;
BooleanTrue/False 值, The words truefalse在JS中是关键字, 不需要引号var myVariable = true;
Array在单一引用中存储多个值的结构var myVariable = [1,'Bob','Steve',10];引用数组成员: myVariable[0], myVariable[1]
Object基本上什么都算上,JS中的一切都是对象, 可以存储在变量中。var myVariable = document.querySelector('h1'); 包括以上所有的例子

3.2 注释

注释方法同C/C++:

/*
Everything in between is a comment. 
*/
// 单行可以这样注释

3.3 操作符

操作符说明符号例子
可以加两个数字,也可以加两个字符串.+6 + 9; "Hello " + "world!";
减, 乘, 除同数学含义-, *, /9 - 3; 8 * 2; 9 / 3;
赋值将值赋给变量=var myVariable = 'Bob';
相等判断两个值是否相等,返回true或false.===var myVariable = 3; myVariable === 4;
非, 不等值取反,或者判断两个值是否不等!, !==var myVariable = 3;!(myVariable === 3);var myVariable = 3; myVariable !== 3;

3.4 条件

if else 结构:

var iceCream = 'chocolate';
if (iceCream === 'chocolate') {
    alert('Yay, I love chocolate ice cream!');    
} else {
    alert('Awwww, but chocolate is my favorite...');    
}

3.5 函数

可以随时调用浏览器内建的函数,例如:

var myVariable = document.querySelector('h1');
alert('hello!');

也可以自定义函数,例如:

function multiply(num1,num2) {
    var result = num1 * num2;
    return result;
}

3.6 事件(Event)

要实现真正的交换,需要使用事件,事件为监听浏览器中发生事件的代码,然后以执行代码作为响应。

document.querySelector('html').onclick = function() {
    alert('Ouch! Stop poking me!');
}

这里选择 元素,将它的onlick handler属性设为一个匿名(无名)函数,这个函数包含了点击事件要执行的代码。

代码:

document.querySelector('html').onclick = function() {};

和代码

var myHTML = document.querySelector('html');
myHTML.onclick = function() {};

是等价的,只是前面的写法更短。

4 Supercharging our example website

4.1 添加 image changer

新建一个images文件夹,里面放两种尺寸相同或相近的图片,名称分别为firefox-icon.pngfirefox2.png,然后在网页中先使用标签嵌入其中一张图片

<img src = 'images/firefox-icon.png'/>

,在JavaScript中加入下面的代码, 加载index.html, 点击图片,自动切换成另一张图片,再点击一下,又切换回来:

var myImage = document.querySelector('img');
myImage.onclick = function() {
    var mySrc = myImage.getAttribute('src');
    if(mySrc === 'images/firefox-icon.png') {
      myImage.setAttribute ('src','images/firefox2.png');
    } else {
      myImage.setAttribute ('src','images/firefox-icon.png');
    }
}

4.2 添加自定义的欢迎信息

index.html中增加一个按钮:

<button>Change user</button>

然后 main.js中增加以下内容:

var myButton = document.querySelector('button');
var myHeading = document.querySelector('h1');

function setUserName() {
  var myName = prompt('Please enter your name.');
  localStorage.setItem('name', myName);
  myHeading.textContent = 'Mozilla is cool, ' + myName;
}
if(!localStorage.getItem('name')) {
  setUserName();
} else {
  var storedName = localStorage.getItem('name');
  myHeading.textContent = 'Mozilla is cool, ' + storedName;
}
myButton.onclick = function() {
  setUserName();
}

当首次加载index.html文件时,会要求输入名字,如果输入”Joy“, 网页会显示欢迎信息:

Mozilla is cool, Joy

再次打开保留相同的欢迎信息。
点击Change user按钮,输入用户名,欢迎信息中的名称也会随之改变。


https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值