<script type="text/javascript">
放在<script></script>之间的是文本类型(text)。
javascript是告诉浏览器里面的文本是属于javascript脚本。
DOM方法
节点是HTML元素
HTML DOM 方法是我们可以在节点(HTML 元素)上执行的动作。
HTML DOM 属性是我们可以在节点(HTML 元素)设置和修改的值。
getElementById() 方法返回带有指定 ID 的元素:
一些常用的 HTML DOM 方法:
getElementById(id) - 获取带有指定 id 的节点(元素)
appendChild(node) - 插入新的子节点(元素)
removeChild(node) - 删除子节点(元素)
getElementsByTagName(),返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)
setAttribute() 把指定属性设置或修改为指定的值。
getAttribute() 返回指定的属性值。
一些常用的 HTML DOM 属性:
innerHTML - 节点(元素)的文本值
parentNode - 节点(元素)的父节点
childNodes - 节点(元素)的子节点
attributes - 节点(元素)的属性节点
闭包指的是有权访问父作用域的函数,即使在父函数关闭之后。
HTML 事件可以是浏览器行为,也可以是用户行为。
以下是 HTML 事件的实例:
HTML 页面完成加载
HTML input 字段改变时
HTML 按钮被点击
onclick=" " 用户点击 HTML 元素
onmouseover 用户在一个HTML元素上移动鼠标
onmouseout 用户从一个HTML元素上移开鼠标
=== 为绝对相等,即数据类型与值都必须相等。
javascript错误中的抛出异常——正则表达式,联系表单验证
F12叫做调试工具
javascript声明提升
JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。
JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。
声明提升:函数声明和变量声明总是会被解释器悄悄地被"提升"到方法体的最顶部。
var x = 5; // 初始化 x
JavaScript 只有声明的变量会提升,初始化的不会。
通常我们在每个作用域开始前声明这些变量,这也是正常的 JavaScript 解析步骤,
严格模式
"use strict" 的目的是指定代码在严格条件下执行。
严格模式下你不能使用未声明的变量。
"use strict" 指令只允许出现在脚本或函数的开头。
[图片]
函数内使用 var 声明的变量只能在函数内容访问,如果不使用 var 则是全局变量。
let 声明的变量只在 let 命令所在的代码块 {} 内有效,在 {} 之外不能访问。
可以实现块级作用域等同于函数内用 var
但使用 var 关键字重新声明变量可能会带来问题。
在块中重新声明变量也会重新声明块外的变量:
var x = 10;
// 这里输出 x 为 10
{
var x = 2;
// 这里输出 x 为 2
}
// 这里输出 x 为 2
let 关键字就可以解决这个问题,因为它只在 let 命令所在的代码块 {} 内有效。
在函数体外或代码块外使用 var 和 let 关键字声明的变量也有点类似。
它们的作用域都是 全局的:
let 关键字定义的变量则不可以在使用后声明,也就是变量需要先声明再使用。
const 用于声明一个或多个常量,声明时必须进行初始化,且初始化后值不可再修改:
const定义常量与使用let 定义的变量相似:
二者都是块级作用域
都不能和它所在作用域内的其他变量或函数拥有相同的名称
两者还有以下两点区别:
const声明的常量必须初始化,而let声明的变量不用
const 定义常量的值不能通过再赋值修改,也不能再次声明。而 let 定义的变量值可以修改。
JSON 是用于存储和传输数据的格式。
JSON 通常用于服务端向网页传递数据
JSON 英文全称 JavaScript Object Notation
JSON 是一种轻量级的数据交换格式。
JSON是独立的语言
JSON 使用 JavaScript 语法,但是 JSON 格式仅仅是一个文本。
文本可以被任何编程语言读取及作为数据格式传递
<a href="javascript:void(0);">点我没有反应的!</a>
javascript:void(0), 仅仅表示一个死链接。
HTML DOM (文档对象模型)
当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。
--------------------------------------------------------------------------------
通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素。
使用 document.write() 方法将内容写到 HTML 文档中。
setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式。方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。
pageX和pageY两个属性代表鼠标光标在页面中的位置,因此坐标是从页面本身而非视口的左边和顶边计算的。在没有滚动的情况下,clientX和cilentY与pageX和pageY是相等的
js 定时器有以下两个方法:
setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式。方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。
setTimeout() :在指定的毫秒数后调用函数或计算表达式。
在 HTML DOM (Document Object Model) 中 , 每一个元素都是 节点:
文档是一个文档节点。
所有的HTML元素都是元素节点。
所有 HTML 属性都是属性节点。
文本插入到 HTML 元素是文本节点。are text nodes。
注释是注释节点。
重点重点
js代码写在<head>里面,获取body节点,这个时候是取不到的
把js代码放到<body>后面可以获取到
parseInt() 函数可解析一个字符串,并返回一个整数。
getElementsByTagName() 方法可返回带有指定标签名的对象的集合。
removeChild() 方法指定元素的某个指定的子节点。
以 Node 对象返回被删除的节点,如果节点不存在则返回 null。
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
在方法中,this 表示该方法所属的对象。
ES6
1,let块级作用域
2,const指向某个引用,声明一个常量,但常量并非一成不变,当使用常量 const 声明时,请使用大写变量,如:CAPITAL_CASING,const 在声明时必须被赋值-i'lp;
,
问题思考
1,let和var区别