-
前言
- JavaScript 是 Web 的编程语言。所有现代的 HTML 页面都使用 JavaScript。
-
JavaScript 简介
- JavaScript 的学习分三个部分:
- 1、核心(ECMAScript):JavaScript的核心,描述了语言的基本语法和数据类型。ECMAScript 是一套标准,定义了一种语言的标准与具体实现无关。
- 2、文档对象模型DOM(Document Object Model): 用于操作页面的元素。一套操作页面元素的 API。DOM 可以把 HTML 看做是文档树,通过 DOM 提供的 API 可以对树上的节点进行操作。
- 3、浏览器对象模型BOM(Browser Object Model): 操作的是浏览器。一套操作浏览器功能的 API。通过 BOM 可以操作浏览器窗口,比如:弹出框、控制浏览器跳转、获取分辨率等。
-
JavaScript, 是一门能够运行在浏览器上的脚本语言 并且, 我们知道本质上, 浏览器是执行HTML程序的. 那么如何在HTML中引入JS呢?
-
方法1:直接在script标签中引入编写js代码
-
方法2:将js代码写在js文件中, 然后通过script标签的src属性进行引入
-
两种方式运行出的效果是一致的, 但是需要注意一点, HTML程序在执行的时候是从上到下进行渲染的, 那么如果我把脚本放在下面和放在上面是有一些不同的。
-
-
声明 JavaScript 变量
- 在 JavaScript 中我们使用 var 关键词来声明变量
- 变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume)。
- 变量必须以字母开头
- 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
- 变量名称对大小写敏感(y 和 Y 是不同的变量)
// var 先声明后赋值
// 当我们使用var 声明变量,没有赋值的时候,那么它是未定义(Undefined)
<script>
var user; // 未赋值
console.log(user); // undefined
</script>
// var 声明并赋值
<script>
var user= 'yoyo';
console.log(user); // 输出 yoyo
</script>
// var 一次声明多个变量
// 一条语句声明多个变量, 多个变量中间用逗号隔开
var a, b, c = 'hello';
console.log(a); // undefined
console.log(b); // undefined
console.log(c); // hello
- 未使用 var 定义的变量
- 如果未使用var 直接定义的变量,它实际上是定义了全局对象 window 的一个属性,前面说了JavaScript 的学习分三个部分:核心(ECMAScript)、文档对象模型DOM、浏览器对象模型BOM。其中浏览器( Browser)对象模型 BOM 包含了以下对象
- Window 对象
- Navigator 对象
- Screen 对象
- History 对象
- Location 对象
- 未使用 var 直接定义的变量,就属于这里window对象的一个属性,看下面例子。
- 如果未使用var 直接定义的变量,它实际上是定义了全局对象 window 的一个属性,前面说了JavaScript 的学习分三个部分:核心(ECMAScript)、文档对象模型DOM、浏览器对象模型BOM。其中浏览器( Browser)对象模型 BOM 包含了以下对象
<body>
<script>
// 如果不使用var 直接定义一个变量
user = 'yoyo';
console.log(window.user);
</script>
</body>
- 变量提升
- JavaScript 中,变量及函数的声明都将被提升到函数的最顶部。JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。如以下我们先调用user变量,再用var声明,此时不会报错,因为函数声明和变量声明总是会被解释器悄悄地被"提升"到方法体的最顶部。
<script>
// 先调用后声明
console.log(user); // undefined
var user;
</script>
// 初始化的赋值不会被提升
<script>
// 先调用后声明
console.log(user); // undefined
var user = 'yoyo';
</script>
标签:JavaScript01,变量,简介,JavaScript,user,var,浏览器,声明
From: https://www.cnblogs.com/xwltest/p/17609232.html