关于前端:JavaScript基础入门全解析上

49次阅读

共计 4940 个字符,预计需要花费 13 分钟才能阅读完成。

JavaScript 根底语法
什么是 JavaScript(简称 js)

  1. 首先要理解前端页面的组成(前端页面的三层构造)

● HTML 示意了你的页面内有什么,组成页面的骨架(结构层)

● CSS 示意了你的页面中每一个内容是什么样子的(款式层)

● JavaScript(简称 js)示意了你的页面中每一个内容如何发生变化, 有什么行为内容(行为层)

  1. JavaScript

是一种基于对象和事件驱动并具备绝对安全性的客户端脚本语言。同时也是一种宽泛用于客户端 Web 开发的脚本语言,罕用来给 HTML 网页增加动静性能,比方响应用户的各种操作。

JavaScript 的组成

  1. ECMASCRIPT: 定义了 javascript 的语法标准, 形容了语言的根本语法和数据类型
  2. BOM (Browser Object Model): 浏览器对象模型

● 有一套成熟的能够操作浏览器的 API,通过 BOM 能够操作浏览器。比方:弹出框、浏览器跳转、获取分辨率等

  1. DOM (Document Object Model): 文档对象模型

● 有一套成熟的能够操作页面元素的 API,通过 DOM 能够操作页面中的元素。比方:减少个 div,缩小个 div,给 div 换个地位等

总结:JS 就是通过固定的语法去操作 浏览器 和 标签构造 来实现网页上的各种成果

JavaScript 的执行环境
● JavaScript 程序不能独立运行,它须要被嵌入 HTML 中,而后浏览器能力执行 JavaScript 代码

JavaScript 代码的书写地位
● 和 css 一样,咱们的 js 也能够有多种形式书写在页面上让其失效

● js 也有多种形式书写,分为 行内式,内嵌式,外链式

第一段 JS 代码
● 在开始之前, 咱们先来学习第一段 js 代码

alert("hello world")

● 作用 : 在浏览器呈现一个弹出框, 弹出框内显示的内容就是小括号内书写的文本

● 留神 : 小括号内的内容如果不是纯数字内容, 须要被引号包裹(单引号或双引号都能够)

行内式 JS 代码(不举荐)
a 标签
● 因为 a 标签有本人的跳转行为,这个是这个标签自身就有的,当咱们点击的时候会主动跳转到指定的页面

● 咱们只有在 a 标签的 herf 属性的地位写上 javascript:; 就不会跳转

● 咱们在冒号和分号之间写上 js 代码,就会执行咱们写的这个 js 代码

<!-- 写在 a 标签的 href 属性上 -->
<a href="javascript:alert('hello world');"> 点击一下试试 </a>

非 a 标签
● 如果是非 a 标签,自身不具备这个跳转的能力,咱们就须要认为的赋予它这个能力

● 先学第一个能力,onclick,这是一个点击的行为

● 在值的地位, 间接书写 js 代码就行, 不须要 javascript:; 了

● 写在标签上的 js 代码须要依附事件(行为)来触发

<!-- 写在其余元素上 -->
<div onclick="alert(' 我是一个弹出层 ')"> 点一下试试看 </div>

<!--
注:onclick 是一个事件(点击事件),当点击元素的时候执行前面的 js 代码
-->

内嵌式 JS 代码(不举荐)
● 内嵌式的 js 代码会在页面关上的时候间接触发

<!-- 在 html 页面书写一个 script 标签,标签外部书写 js 代码 -->
<script type="text/javascript">
    alert('我是一个弹出层')
</script>

<!--
    注:script 标签能够放在 head 外面也能够放在 body 外面
-->

● 留神 :

  1. script 标签对内的代码不须要任何行为, 关上页面就会执行
  2. script 标签对原则上能够书写在页面的任意地位

● 举荐放在 head 标签的开端或者 body 标签的开端

● 目前咱们举荐放在 body 的开端

  1. 一个页面原则上能够书写任意多个 script 标签

● 会依照从上到下的程序顺次执行每一个 script 标签中的代码

外链式 JS 代码(举荐)
● 外链式代码是书写在一个 .js 的文件内

● 外链式 js 代码只有引入到了 html 页面中,就会在页面关上的时候间接触发(解析)

● 新建一个 .js 后缀的文件,在文件内书写 js 代码,把写好的 js 文件引入 html 页面

<!-- 我是一个 html 文件 -->

<!-- 通过 script 标签的 src 属性,把写好的 js 文件引入页面 -->
<script src="index.js"></script>

<!-- 一个页面能够引入多个 js 文件 -->
<script src="index1.js"></script>
<script src="index2.js"></script>
<script src="index3.js"></script>

● 留神 :

  1. 外链式 js 代码不须要任何行为, 关上页面就会执行
  2. script 标签对原则上能够书写在页面的任意地位

● 举荐放在 head 的开端或者 body 的开端

● 目前举荐放在 body 的开端

  1. 一个页面能够书写任意多个 script 标签

● 会依照从上到下的程序顺次执行每一个 script 标签

  1. 一个 script 标签当你书写了 src 属性当前, 示意你要把他当做外链式应用

● 那么此时就不能在当做内嵌式应用了, 写在标签对内的内容没有意义了

● 只有你写了 src 属性, 不论值的地位是否书写地址, 内嵌式都没有意义了

  1. 一个页面中能够同时存在外链式和行内式,执行的程序还是依照你 script 标签的书写地位先关,写在下面的先执行
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JavaScript 根底 - 引入形式 </title>
</head>
<body>
  <!-- 外联模式:通过 script 的 src 属性引入独立的 .js 文件 -->
  <script src="demo.js">
    // 此处的代码会被疏忽掉!!!!// 不论你有没有写 demo.js。// 只有看到 src 属性浏览器就会当做外链式来解析。// 你写在 script 标签中的代码就不起作用了
      alert(千锋欢迎您);
  </script>
</body>
</html>

JS 中的正文
● 学习一个语言, 先学习一个语言的正文, 因为正文是给咱们本人看的, 也是给开发人员看的

● 写好一个正文, 有利于咱们当前浏览代码

● JavaScript 反对两种模式正文语法:单行正文、多行正文

单行正文
● 个别就是用来形容上面一行代码的作用

● 能够间接写两个 /,也能够按 ctrl + /

<!DOCTYPE html>
<html lang="en">
<head>
    ...
    <title> 根底 - 正文 </title>
</head>
<body>
    <script>
    // 这种是单行正文的语法
    // 一次只能正文一行
    // 能够反复正文
    alert('嗨,欢送来千锋学习前端技术!');
    </script>
</body>
</html>

多行正文
● 个别用来写一大段话,或者正文一段代码

● 能够间接写 / / 而后在两个星号两头写正文

○ 各个编辑器的快捷键不一样,vscode 是 Alt + shift + a

<!DOCTYPE html>
<html lang="en">
<head>
    ...
    <title> 根底 - 正文 </title>
</head>
<body>
    <script>
        /*
            这是多行正文的语法
        */

        /*
            正文的代码不会执行
            alert('我是一个弹出层')
            alert('我是一个弹出层')
        */
        alert('欢迎您的到来')
    </script>
</body>
</html>

变量(重点)
● 变量是计算机中用来存储数据的“容器”,它能够让计算机变得有记忆,艰深的了解变量就是应用【某个符号】来代表【某个具体的数值】(数据)

● 变量是计算机内存中存储数据的标识符,依据变量名称能够获取到内存中存储的数据

● 也就是说,咱们向内存中存储了一个数据,而后要给这个数据起一个名字,为了是咱们当前再次找到他

● 语法:var 变量名 = 值

定义(申明)变量及赋值
● 申明(定义) 变量有两局部形成:申明关键字、变量名(标识)

○ var : 定义变量的关键字, 通知浏览器, 我要定义一个变量了

○ 空格 : 必须写, 辨别 要害 和 变量名 的

○ 变量名 : 你本人起的一个名字

○ = : 赋值符号, 把左边的内容, 给到右边的变量

○ 值 : 你给你定义的变量赋的是什么值

<!DOCTYPE html>
<html lang="en">
<head>
    ...
    <title> 根底 - 申明和赋值 </title>
</head>
<body>
    <script>
        // 语法: var 名字 = 值
        var age = 18
        // var 关键字 所谓关键字是零碎提供的专门用来申明(定义)变量的词语
        // age 即变量的名称,也叫标识符
    </script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    ...
    <title> 根底 - 申明和赋值 </title>
</head>
<body>
    <script>
        //   1. 定义不赋值
        //     => 语法: var x
        //     => 筹备一个变量, 当前应用, 临时先不进行赋值
        var x
    </script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    ...
    <title> 根底 - 申明和赋值 </title>
</head>
<body>
    <script>
        //   2. 定义并赋值
        //     => 语法: var x = 100
        //     => 筹备一个变量的同时, 并且给他赋值为某一个数据
        var x = 100
    </script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    ...
    <title> 根底 - 申明和赋值 </title>
</head>
<body>
    <script>
        //   3. 一次性定义多个变量不赋值
        //     => 语法: var x, x2, x3, x4, ...
        //     => 同时定义多个变量, 都不进行赋值
        var x, x1, x2
    </script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    ...
    <title> 根底 - 申明和赋值 </title>
</head>
<body>
    <script>
        //   4. 一次性定义多个变量并赋值
        //     => 语法: var x = 10, x2 = 20, x3 = 30, ...
        var x = 10, x1 = 20, x2 = 30
    </script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    ...
    <title> 根底 - 申明和赋值 </title>
</head>
<body>
    <script>
        //   5. 一次性定义多个变量, 有的赋值有的不赋值
        //     => 语法: var x = 10, x2, x3 = 30
        var x = 10, x1, x2 = 20
    </script>
</body>
</html>

变量命名规定和标准
● 变量命名规定(你必须恪守)

  1. 一个变量只能由 字母(a-z, A-Z) 数字(0-9) 下划线(_) 美元符($) 组成
  2. 一个变量不能由 数字 结尾
  3. 变量严格辨别大小写
  4. 不要应用关键字或保留字

● 变量命名标准(倡议你恪守)

  1. 变量语义化
  2. 驼峰命名法
  3. 不应用中文

变量应用注意事项
● 容许申明和赋值同时进行

● 容许同时申明多个变量并赋值

● JavaScript 中内置的一些关键字不能被当做变量名

● 一个变量名只能存储一个值

● 当再次给一个变量赋值的时候,后面一次的值就没有了

● 变量名称辨别大小写(JS 严格辨别大小写)

JS 的输出和输入
● 输入和输出也可了解为人和计算机的交互,用户通过键盘、鼠标等向计算机输出信息,计算机解决后再展现后果给用户,这便是一次输出和输入的过程。

● 举例说明:如按键盘上的方向键,向上 / 下键能够滚动页面,按向上 / 下键这个动作叫作输出,页面产生了滚动了这便叫输入。

输入
● 以弹窗的模式展现给用户

// 以弹出层的模式展现给咱们
alert('你好 世界')

● 在页面中展现给用户

// 间接展现到咱们的页面上
document.write('hello world')

● 在控制台展现 个别用户看不到

// 在控制台展现进去
console.log('大家好');

输出
● 用户抉择框

// 这个抉择框返回的是一布尔值
var name = confirm('你是程序员吗')
// 打印咱们拿到的后果(也就是布尔值)
console.log(name)

● 用户输入框

// 这个输入框返回的是用户输入的内容
var name = prompt('请输出你的姓名')
// 咱们拿到的后果就是用户输出的后果
console.log(name)

正文完
 0