IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript---学习一:简介与使用 -> 正文阅读

[JavaScript知识库]JavaScript---学习一:简介与使用


js简介

回顾一下JavaScript的诞生。1995年,网景公司凭借其Navigator浏览器成为最著名的第一代互联网公司。网景公司希望能在静态HTML页面上添加一些动态效果,于是叫Brendan Eich在两周之内设计出JavaScript语言,事实上只用了10天时间。为什么起名叫JavaScript?原因是当时Java语言非常红火,所以网景公司希望借Java的名气来推广,但事实上JavaScript除了语法上有点像Java,其他部分基本上没啥关系。
一年后微软模仿JavaScript开发了JScript,为了让JavaScript成为全球标准,几个公司联合ECMA(European ComputerManufacturers Asso组织定制了JavaScript语言的标准,被称为ECMAScript标准。所以简单说来就是,ECMAScript是一种语言标准,而JavaScript是网景公司对ECMAScript标准的一种实现。那为什么不直接把JavaScript定为标准呢?因为JavaScript是网景的注册商标。不过大多数时候,我们还是用JavaScript这个词。如果你遇到ECMAScript这个词,简单把它替换为JavaScript就行了。
JavaScript有很多设计缺陷,后面会慢慢讲到。由于JavaScript的标准——ECMAScript在不断发展,最新版ECMAScript6标准(简称ES6)已经在2015年6月正式发布了,所以,讲到JavaScript的版本,实际上就是说它实现了ECMAScript标准的哪个版本。由于浏览器在发布时就确定了JavaScript的版本,加上很多用户还在使用IE6这种古老的浏览器,这就导致你在写JavaScript的时候,要照顾一下老用户,不能一上来就用最新的ES6标准写,否则,老用户的浏览器是无法运行新版本的JavaScript代码的。不过,JavaScript的核心语法并没有多大变化。我们的教程会先讲JavaScript最核心的用法,然后,针对ES6讲解新增特性。


一、如何使用js?

HTML中的脚本必须位于"<script>与</script>"标签之间。脚本可被放置在HTML页面的<body><head>部分中。
<script>标签
如需在HTML页面中插入JavaScript,要使用<script>标签。<script></script>会告诉JavaScript在何处开始和结束。
<script></script>之间的代码行包含了JavaScript:

    <script>
      alert("My FirstJavaScript");
   </script>

无需理解上面的代码。只需明白,浏览器会解释并执行位于之间的JavaScript。老旧的实例可能会在<script>标签中使用type="text/javascript"。现在已经不必这样做了。JavaScript是所有现代浏览器以及HTML5中的默认脚本语言。<head><body>中的JavaScript可以在HTML文档中放入不限数量的脚本。脚本可位于HTML的<body><head>部分中,或者同时存在于两个部分中。 通常的做法是把函数放入<head>部分中,或者放在页面底部。这样就可以把它们安置到同一处位置,不会干扰页面的内容。
在本例中,JavaScript会在页面加载时向 HTML 的<body>写文本:

<!DOCTYPE html>
<html>
<body>
 <p>JavaScript 能够直接写入 HTML 输出流中:</p >
 <script>
  document.write("<h1>This is a heading</h1>");
  document.write("<p>This is a paragraph.</p >");
 </script>
 <p>
  您只能在 HTML 输出流中使用 <strong>document.write</strong>。
  如果您在文档已加载后使用它(比如在函数中),会覆盖整个文档。
 </p >
</body>
</html>

JavaScript函数和事件

<head>中的JavaScript函数

本例中:按钮触发

<!DOCTYPE html>
<html>
  <head>
    <script>
      function myFunction() {
        document.getElementById("demo").innerHTML = "My First JavaScript Function";
      }
    </script>
  </head>
<body>
 <h1>My Web Page</h1>
 <p id="demo">A Paragraph.</p >
 <button type="button" onclick="myFunction()">点击这里</button>
</body>
</html>

<body>中的JavaScript函数

本例中:按钮触发
提示:我们把 JavaScript放到了页面代码的底部,这样就可以确保在<p>元素创建之后再执行脚本。

<!DOCTYPE html>
<html>
<body>
    <h1>My First Web Page</h1>
    <p id="demo">A Paragraph.</p >
    <button type="button" onclick="myFunction()">点击这里</button>
    <script>
       function myFunction() {
         document.getElementById("demo").innerHTML = "My First JavaScript Function";
       }
 </script>
</body>
</html>

也可以把脚本保存到外部文件中。外部文件通常包含被多个网页使用的代码。外部 JavaScript文件的文件扩展名是.js。

外部的JavaScript

如需使用外部文件,在<script>标签的"src"属性中设置该.js文件
<head><body>中引用脚本文件都是可以的。实际运行效果与您在<script>标签中编写脚本完全一致。外部脚本不能包含<script>标签。

<!DOCTYPE html>
<html>
<body>
 <h1>My Web Page</h1>
 <p id="demo">A Paragraph.</p >
 <button type="button" onclick="myFunction()">点击这里</button>
  <p>
    <b>注释:</b>myFunction 保存在名为 "myScript.js" 的外部文件中。
  </p >
  
  <script type="text/javascript" src="/js/myScript.js"></script>
</body>
</html>

二、js与DOM

1.访问HTML元素

JavaScript 通常用于操作 HTML 元素。如需从 JavaScript访问某个HTML元素,您可以使用document.getElementByld(id)方法。请使用“id"属性来标识 HTML元素。下面例子通过指定的 id来访问HTML元素,并改变其内容。JavaScript由web 浏览器来执行。在这种情况下,浏览器将访问id="demo"的 HTML元素,并把它的内容(innerHTML)替换为"My First JavaScript"。
代码如下(示例):

<!DOCTYPE html>
<html>
<body>
 <h1>My First Web Page</h1>
 <p id="demo">My First Paragraph.</p >
 <script>
  document.getElementById("demo").innerHTML = "My First JavaScript";
 </script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
 <h1 onclick="this.innerHTML='谢谢!'">请点击该文本</h1>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<script>
 function changetext(id) {
  id.innerHTML = "谢谢!";
 }
</script>
</head>
<body>
 <h1 onclick="changetext(this)">请点击该文本</h1>
</body>
</html>

2.写到HTML文档输出

(1)下面的例子直接把<p>元素写到HTML文档输出中,代码如下(示例):

<!DOCTYPE html>
<html>
 <body>
    <h1>My First Web Page</h1>
   <script>
     document.write("<p>My First JavaScript</p >");
   </script>
 </body>
</html>

(2)请使用 document.write()仅仅向文档输出写内容。如果在文档已完成加载后执行document.write,整个HTML页面将被覆盖。代码如下(示例):

<!DOCTYPE html>
<html>
 <body>
   <h1>My First Web Page</h1>
   <p>My First Paragraph.</p >
   <button onclick="myFunction()">点击这里</button>
  <script>
    function myFunction() {
      document.write("糟糕!文档消失了。");
    }
  </script>
 </body>
</html>

onload和onunload事件

可处理cookie

<!DOCTYPE html>
<html>
<body onload="checkCookies()">
 <script>
  function checkCookies() {
   if (navigator.cookieEnabled == true) {
    alert("已启用 cookie")
   } else {
    alert("未启用 cookie")
   }
  }
 </script>
 <p>提示框会告诉你,浏览器是否已启用 cookie。</p >
</body>
</html>

onchange事件

<!DOCTYPE html>
<html>
<head>
<script>
 function myFunction() {
  var x = document.getElementById("fname");
  x.value = x.value.toUpperCase();
 }
</script>
</head>
<body>
 请输入英文字符:
 <input type="text" id="fname" onchange="myFunction()">
 <p>当您离开输入字段时,会触发将输入文本转换为大写的函数。</p >
</body>

</html>

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-30 11:54:58  更:2021-08-30 12:00:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:19:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码