Javascript-1.相关概念

一.JavaScript介绍

  JavaScript是一门弱型的编程语言。简称js。由美国网景公司发布。微软发布的类似JavaScript的语言叫JScript。

前端的编程语言只有JavaScript,后端的编程语言有java,php,c++,c,c#,go,python等。

如果说html是一个网页的骨架,那么css就是对网页的装饰,使网页更漂亮,而js则是用来给网页添加动作行为的。(初学js我目前不敢评价js到底是干嘛的~.~)

二.JavaScript运行环境

  JavaScript的运行环境有俩种:

1.浏览器

2.服务器(nodejs)

三.JavaScript构成

 

 我们主要在浏览器环境下运行的JavaScript。所以前端主要就是书写浏览器环境下的JavaScript。

浏览器环境下的JavaScript分为3部分。

1:ECMAScript简称ES。它是js的语法规范。实际上这部分和浏览器没关系。

ES的最新版本是ES6。我们主学ES5.1,穿插学习ES6。

2:DOM ( Document Object Model ) 文档对象模型,提供了操作网页元素的API。

3:BOM(Broswer Object Model)浏览器对象模型,提供了操作浏览器API。

我们主学ES。ES是Javascript的基础和核心。其次是DOM,BOM最不重要。

1.ES主要知识点大纲

1: 变量,常量和数据类型

2: 运算符,表达式

3:流程控制语句,控制结构,循环和判断

4:函数

5:对象,面向对象

其中1-3是编程基础。4-5是编程进阶,是难点,也是重点。 

2.DOM主要知识大纲

1:节点获取和操作

2:事件对象,事件流

3:html文档操作

3.BOM主要知识

1:location对象

2:navigatior对象

3:history对象

四.JavaScript的引入和js语句

js的俩种引入方式

1.script标签内书写javascript

2.通过script的scr引入外部的js文件。

ps:书写了src的script标签内部就不能再写javascript代码。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
   
</head>
<body> 
    
    <script>
        // 在这里写js代码, 一般放在body底部
        alert('我来了');
    </script>

    <script src="./demo.js"></script>
</body>
</html>

// demo.js代码
alert('我又走了');   

放在body底部是目的是:为了避免浏览器在呈现页面是出现明显的延迟,而延迟期间一片空白。避免这个问题。(浏览器在遇到<body>标签是才开始呈现内容)。

用户会因为浏览器窗口显示空白页面的时间缩短而感到打开页面的速度加快了。

js语句

1.js语句用来向浏览器发出命令

2.js语句以分号结尾

3.以下是js用来输出的语句

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        console.log('hi');//在控制台输出
        document.write('我爱web');//输出到网页上
        prompt('请输入手机号码');//弹窗输入
        alert('hello');//弹窗输出;
    </script>
</body>
</html>

五.程序运行过程

浏览器运行JavaScript的过程

问题1:开发人员书写javascript的代码,是谁执行(运行)的,何时执行?是谁运行?

1.javascript 代码(也叫javascript脚本)是由浏览器运行的。

2.我们书写的javascript代码,实际是一个任务清单。

3.浏览器运行javascript代码,实际相当于按照任务清单执行任务。

浏览器运行javascript代码,大概分为俩个阶段:

  •         解析阶段。此阶段分析代码是否有语法错误。
  •         运行阶段。解析成功后,开始逐行运行代码。(按照<script>标签里写的‘清单任务’)

ps:函数和变量会提前声明。但是变量只是声明不会赋值。

问题2:用户在浏览器输入url到显示页面,这个过程发生了什么?

1.这里需要先说明下浏览器系显示页面的大概过程,分为俩个部分:

  •            解析过程。此阶段解析html内的所有标签内容。包括style和script。
  •            渲染过程。解析成功后按照解析结果渲染内容到浏览器视口内。

2.javascript的代码在何时运行?

  •           javascript代码在浏览器解析html文档时运行。
  •           当浏览器解析到script标签时,即开始javascript代码的解析和执行过程。

3.以下是浏览器显示页面的大致过程:

        1.从服务器下载html文档,逐行解析

        2.如果遇到style的css样式,解析css

4.解析所有标签成功后,开始渲染网页内容到视口内,次过程结算后,用户将看到网页内容。

六.网页报错

如果因为某些原因,javascript会报错提升。

1:语法错误。SyntaxError

如果在解析javascript代码的过程中,发现有语法错误,则解析失败,javascript不会进入运行阶段。

2:引用错误(ReferenceError)和类型错误(TypeError)。

如果没有语法错误,解析成功,在执行的过程中如果发生了错误。则发生错误处后面的代码无法得到执行。

常见错误:

  • xxx is not defined 意思是xxx变量没声明就使用了。这是引用错误。
  • Cannot read property xxx of undefined 不能读取undefined的xxx属性。因为undefined没有属性。
  • Cannot read property xxx of null 不能读取null的xxx属性。因为null没有属性。
  • Cannot set property xxx of undefined 不能设置undefined的xxx属性。因为undefined不能设置属性。
  • Cannot set property xxx of null 不能设置null的xxx属性。因为null不能设置属性。
  • xxx is not a function 意思是xxx不是函数,你把它当成了函数使用,这是类型错误。

七.调试

  • 有时候程序报错,我们需要知道报错原因,报错信息不一定能知道错误在哪里。

  • 这里需要了解程序运行过程中的每一步细节和状态。这是入门程序的必备技能。

  • 浏览器按照Javascript代码逐行依次执行,因此我们可以以代码行为单位逐行逐步骤分析代码的运行和跳转过程。

调试方法:

  1. debugger调试。

  2. 利用浏览器的断点功能进行逐行断点调试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值