JavaScript 基础入门

匿名 (未验证) 提交于 2019-12-02 21:53:52

JavaScript 基础入门

JavaScript 的组成

    JS 由三部分组成,它们分别是:ECMAScript、DOM、BOM.

    ECMAScript

    DOM

    BOM

    ECMAScript、DOM、BOM 之间的关系

ECMAScript是用来操作平台或者运行平台上页面的工具

      DOM是运行在平台上的页面

      BOM是运行平台,BOM的规则(语法)是建立在ECMAScript的规则之上

    JavaScript 和 ECMAScript 规范

ECMA

ISO)的 ISO-16262。你可以在这里DOMW3C  

    JavaScript 文献 和 ECMAScript 规范

  JavaScript 代码位置

内部 JavaScript

1 <script> 2     // 在此编写 JavaScript 代码 3 </script>

1 <head> 2 window.onload = function () { 3   // 在此编写 JavaScript 代码 4 } 5 </head>


将外部的 JS 文件引入当前页面,类似于引入外部 CSS 文件,代码如下:

1 <script src="script.js"></script>

1 <button onclick="createParagraph()">点我呀</button>

    这三者中,一般在练习中使用内部 JavaScript,实际开发中使用 外部 JavaScript,几乎不使用 内联 JavaScript 处理器。

JavaScript 中的大小写

JS 是区分大小写的,并使用 Unicode 字符集。如:

var a = 10; var A = 11;  console.log(a); console.log(A);  /*    结果为    10    11    由此可见,a 和 A 并不是同一个变量     */

  JavaScript 中的注释

// 啦啦啦,我是注释~~~

/*     多行注释1    多行注释2    多行注释3  */

  JavaScript 代码执行顺序

 1 var a = 10;  2 var b = 11;  3 console.log(a);  4 console.log(b);  5 console.log(a + b);  7 /*   8    控制台显示的结果为:  9    10 10    11        11    21      12 */

  JavaScript 语句

  向宿主环境发送的命令。

的结果。

console.log(10 + 2); // 在每一条语句的后面都带有一个分号,表示语句结束

  JavaScript 的输出方式

// 第一种 console.log();  // 第二种 document.write();

document.write(<strong>内容</strong>);

  JavaScript 中的表达式

console.log(11 + 3); // 将 11 + 3 的结果 打印到浏览器的控制台中  

  JavaScript 的弹窗

// 第一种,警告对话框,只有确认键 alert();      // 没有返回值,返回 undefined; 不同的浏览器,显示不同  // 第二种,模态对话框(确认框),有确认件和取消键 confirm();      // 返回 Boolean 类型:true、false  表示选择确定还是取消  // 第三种,对话框,对话框中包含一条文字信息,用来提示用户输入文字,有确认键和取消键以及输入框 prompt();      // 如果文本输入框中为空,则返回一个空字符串,如果用户点击"取消"按钮,则返回null

注意事项:

     confirm 对话框是弹出式,直到这个对话框被点击后, 后面的脚本才会运行. 请勿滥用此功能

查找并解决 JavaScript 代码的错误

  错误类型

语法错误代码中存在拼写错误,将导致程序完全或部分不能运行,通常你会收到一些出错信息。只要熟悉语言并了解出错信息的含义,你就能够顺利修复它们。

有些代码语法虽正确,但执行结果和预期相悖,这里便存在着逻辑错误。这意味着程序虽能运行,但会给出错误的结果。由于一般你不会收到来自这些错误的提示,它们通常比语法错误更难修复。

  解决 BUG 的方法

以下是几种常见的 bug 形式

有报错

当在控制台中看到报错信息时,我们要观看它报的什么错,一般来说,我们可以很直观的看到报错信息。如:

Cannot set property 'onclick' of null // 不是onc1ick为nu11,是onclick不能加给nu1l  xxx is not defined // xxx 未定义

解决方法:反向查找

解决方法:反向查找

解决方法:

解决 bug 的通用方式

     将 console.log("1"); 逐行使用,哪行代码打印不出来,哪行就出现了问题(最好的方式是,将 "1" 换位当前测试行的变量名,同时,变量名不要手写,而是将当前变量名 copy 一下)

定位 bug 信息的工具(工具帮助找到定位 bug 的信息)

打断点:让浏览器逐行执行代码


以下有几种常见的错误类型

let userGuess = Number(guessField.value); // 改成 let userGuess === Number(guessField.value);

      将抛出一个错误。因为系统认为你在做其他事情。请不要把赋值运算符(=,为一个变量赋值)和严格等于运算符(===,比较两个值是否相等,返回 true/false)弄混淆。

    SyntaxError: missing) after argument list (语法错误:参数表末尾缺少括号)

顾名思义:此错误通常意味着 函数 or 方法 调用或的结束括号忘写了。

    SyntaxError: missing: after property id (语法错误:属性 ID 后缺少冒号)

JS 对象的形式有错时通常会导致此类错误,如:

function checkGuess() { //写成了 function checkGuess( {

浏览器会认为我们试图将函数的内容当作参数传回函数。写圆括号时要小心!

    SyntaxError: missing} after function body (语法错误:函数末尾缺少花括号)

通常意味着函数或条件结构中丢失了一个花括号。如果我们将 checkGuess() 函数末尾的花括号删除,就会得到这个错误。

    SyntaxError: expected expression, got'string' (语法错误:得到一个 'string' 而非表达式)

    ↑↑↑↑↑↑ 或者 ↓↓↓↓↓↓

    SyntaxError: unterminated string literal (语法错误:字符串字面量未正常结束)

将被替换为浏览器发现的意外字符。如果漏写了末尾的引号将得到第二条。

    

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!