Javascript 笔记基础(一)

js 是什么

JavaScript,就是我们通常所说的JS。这是一种嵌入到HTML页面中的编程语言,由浏览器一边解释一边执行,js是一门高级解释性脚本语言。

组成

  • ECMAScript
  • DOM
    • 文档对象模型
  • BOM
    • 浏览器对象模型

在HTML中引入JavaScript

  1. 外部JavaScript

    ​ HTML代码和JavaScript代码单独放在不同的文件中,然后在HTML文档中使用“script标签”来引入JavaScript代码

    <script src="js/index.js"></script>
    
  2. 内部JavaScript

    ​ 把HTML代码和JavaScript代码放在同一个文件中。其中,JavaScript代码写在<script></script>标签对内。

  3. 元素事件JavaScript

    ​ 指的是在元素的“事件属性”中直接编写JavaScript或调用函数。

调试

在浏览器控制台打印

console.log()

Sources 点击行号打断点

基础语法

常量与变量

变量由字母、下划线、$或数字组成,并且第一个字母必须是字母、下划线或$。变量不能是系统关键字和保留字。

 var a = 10;

常量用大写

数据类型

数据类型可以分为两种:一种是“基本数据类型”,另外一种是“引用数据类型”。其中,基本数据类型只有一个值,而引用数据类型可以含有多个值。

在JavaScript中,基本数据类型有5种:数字、字符串、布尔值、未定义值和空值。

  • 未定义值用undefined表示。
  • 凡是已经用var声明但没有赋值的变量,值都是undefined

运算符

常见的运算符有以下5种:算术运算符。赋值运算符。比较运算符。逻辑运算符。条件运算符。

表达式与语句

一个表达式包含“操作数”和“操作符”两部分。

类型转换

在JavaScript中,共有两种类型转换。隐式类型转换。显式类型转换。

“字符串”转换为“数字”

  • Number( )
    • Number( )方法可以将任何“数字型字符串”转换为数字
  • parseInt( )和 parseFloat( )
    • parseInt( )和parseFloat( )可以提取“首字母为数字的任意字符串”中的数字,其中parseInt( )会提取整数部分,parseFloat( )不仅会提取整数部分,还会提取小数部分。可以接受第1个字符是加号或减号,如果第1个字符是非数字,则直接返回NaN。

“数字”转换为“字符串”

将数字转换为字符串,也有两种方式。与空字符串相加。toString( )。

  • 如果数字和字符串相加,系统会将数字转换成字符串。如果要将一个数字转换为字符串,而又不增加多余的字符,我们可以将这个数字加上一个空字符串。

  • var b = a.toString()
    

转义字符

对于字符串的换行,有以下两种情况。

  • 如果是在document.write( )中换行,则应该用
  • 如果是在alert( )中换行,则应该用\n

注释

  • // 单行注释
  • /* 多行注释 */

流程控制

在JavaScript中,共有3种流程控制方式(其实任何计算机语言也只有这3种)。顺序结构。选择结构。循环结构

  1. 对于if语句,主要包含以下4个要点。
  • 单向选择:if…
  • 双向选择:if…else…
  • 多向选择:if…else if…else…
  • if语句的嵌套。
  1. switch语句
  2. 循环语句共有以下3种。
  • while语句
  • do…while语句
  • for语句

函数

funtion 函数名(){
	...
	return 返回值
}

在超链接中调用函数

<a href="javascript: 函数名"><a>

在事件中调用

对象

在JavaScript中,常用的内置对象有4种

  • 字符串对象:String
  • 数组对象:Array
  • 日期对象:Date
  • 数值对象:Math。

DOM

每一个元素就是一个节点,而每一个节点就是一个对象。也就是说,我们在操作元素时,其实就是把这个元素看成一个对象,然后使用这个对象的属性和方法来进行相关操作(这句话对理解DOM操作非常重要)

DOM节点共有12种类型,但是常见的只有下面3种(其他的不需要掌握)

  • 元素节点
  • 属性节点
  • 文本节点

在JavaScript中,我们可以通过以下6种方式来获取指定元素

  • getElementById( )
  • getElementsByTagName( )
  • getElementsByClassName( )
  • querySelector( )和 querySelectorAll( )
  • getElementsByName( )
  • document.title和document.body。

使用createElement( )来创建一个元素节点,也可以使用createTextNode( )来创建一个文本节点

创建元素

想要创建一个元素,需要以下4步。

① 创建元素节点:createElement( )

② 创建文本节点:createTextNode( )

③ 把文本节点插入元素节点:appendChild( )

④ 把组装好的元素插入到已有元素中:appendChild( )

插入元素

  • appendChild( ) 把一个新元素插入到父元素的内部子元素的“末尾”。
  • insertBefore( ) 将一个新元素插入到父元素中的某一个子元素“之前”。

appendChild( )是在父元素的最后一个子元素之后插入,而insertBefore( )是在父元素的任意一个子元素之前插入

删除元素

使用removeChild( )方法来删除父元素下的某个子元素。

复制元素

使用cloneNode( )方法来实现复制元素。

替换元素

使用replaceChild( )方法来实现替换元素。

HTML属性操作(对象属性)

不管是用“对象属性”的方式,还是用“对象方法”的方式,都涉及以下2种操作

  • 获取HTML属性值
  • 设置HTML属性值

获取HTML属性值

obj.attr
  • obj是元素名,它是一个DOM对象。所谓的DOM对象,指的是使用getElementById( )、getElementsByTagName( )等方法获取的元素节点
  • attr是属性名,对于一个对象来说,可以通过点运算符(.)来获取它的属性值。

这是HTML属性值

obj.attr="值"

obj是元素名,它一个DOM对象,attr是属性名。

HTML属性操作(对象方法)

关于操作HTML元素的属性,JavaScript为我们提供了4种方法

  • getAttribute( ) 获取元素某个属性的值。
  • setAttribute( ) 设置元素某个属性的值。
  • removeAttribute( ) 删除元素的某个属性。
  • hasAttribute( )判断元素是否含有某个属性。会返回一个布尔值。如果包含该属性,会返回true;如果不包含该属性,会返回false。

CSS属性操作

  • getComputedStyle( )方法来获取一个CSS属性的取值
  • 设置一个CSS属性的值,有两种方式可以实现。style对象。cssText属性。

DOM遍历

DOM遍历,可以分为以下3种情况

  • 查找父元素 parentNode
  • 查找子元素 childNodes、firstChild、lastChild。children、firstElementChild、lastElementChild。
  • 查找兄弟元素 previousSibling、nextSibling。previousElementSibling、nextElementSibling。

innerHTML和innerText

  • 使用innerHTML属性很方便地获取和设置一个元素的“内部元素”

  • 使用innerText属性获取和设置一个元素的“内部文本”。

事件

在JavaScript中,一个事件包含3部分

  • 事件主角:是按钮?还是div元素?还是其他?
  • 事件类型:是点击?还是移动?还是其他?
  • 事件过程:这个事件都发生了些什么?

JavaScript常见的事件共有以下5种

  • 鼠标事件
  • 键盘事件
  • 表单事件
  • 编辑事件
  • 页面事件

事件调用方式

在JavaScript中,调用事件的方式有两种

  • 在script标签中调用
obj.事件名=function(){
    ...
};
  • 在元素中调用

    ​ 直接在HTML属性中调用事件,这个属性又叫作“事件属性”。

鼠标事件

在这里插入图片描述

键盘事件

在JavaScript中,常用的键盘事件共有两种

  • 键盘按下:onkeydown
  • 键盘松开:onkeyup

onkeydown表示键盘按下一瞬间所触发的事件,而onkeyup表示键盘松开一瞬间所触发的事件。对于键盘来说,都是先有“按下”,才有“松开”,也就是说,onkeydown发生在onkeyup之前。

表单事件

在JavaScript中,常用的表单事件有3种

  • onfocus 和 onblur
    • onfocus表示获取焦点时触发的事件,而onblur表示失去焦点时触发的事件,两者是相反的操作
  • onselect
    • 当我们选中“单行文本框”或“多行文本框”中的内容时,就会触发onselect事件
  • onchange
    • onchange事件常用于“具有多个选项的表单元素”的操作。
    • 单选框选择某一项时触发。
    • 复选框选择某一项时触发。
    • 下拉列表选择某一项时触发。

除了上面这几个,还有一个onsubmit事件。onsubmit事件一般都会结合后端技术一起使用

编辑事件

常用的编辑事件有3种

  • oncopy 防止页面内容被复制
  • onselectstart 防止页面内容被选取
  • oncontextmenu 禁止使用鼠标右键

页面事件

常用的页面事件只有下面2个

  • onload 表示文档加载完成后再执行的一个事件
  • onbeforeunload 表示离开页面之前触发的一个事件

事件监听器

是使用addEventListener( )方法为一个元素添加事件,我们又称之为“绑定事件”。

event对象

当一个事件发生的时候,这个事件有关的详细信息都会临时保存到一个指定的地方,这个地方就是event对象。每一个事件,都有一个对应的event对象

在这里插入图片描述

this

哪个DOM对象(元素节点)调用了this所在的函数,那么this指向的就是哪个DOM对象。

window对象

在JavaScript中,一个浏览器窗口就是一个window对象(这句话很重要)

window对象及下面这些location、navigator等子对象,由于都是用于操作浏览器窗口的,所以我们又称之为“BOM”,也就是Browser Object Module(浏览器对象模型)

打开窗口

window.open(url, target)
  1. window.open( )可以直接简写为open( ),但是我们一般都习惯加上window前缀。window.open( )的参数有很多,但是只有url和target这两个用得上。
  2. url指的是新窗口的地址,如果url为空,则表示打开一个空白窗口。空白窗口很有用,我们可以使用document.write( )往空白窗口输出文本,甚至输出一个HTML页面。
  3. target表示打开方式,它的取值跟a标签中target属性的取值是一样的,常用取值有两个:_blank和_self。当target为“_blank(默认值)”时,表示在新窗口中打开;当target为“_self”时,表示在当前窗口中打开。

关闭窗口

window.close()

window.close( )方法是没有参数的。

对话框

在JavaScript中,对话框有3种,都是window对象的方法

  1. alert( )
    • 一般只用于提示文字
    • 在alert( )中实现文本换行,用的是\n。
  2. confirm( )
    • 不仅提示文字,还提供确认。
  3. prompt( )
    • 不仅会提示文字,还会返回一个字符串

定时器

上面说到的这些动画特效中,其实就用到了“定时器”。所谓的“定时器”,指的是每隔一段时间就执行一次代码。

在JavaScript中,对于定时器的实现,有以下两组方法。

  1. setTimeout( )和clearTimeout( )
  2. setInterval和clearInterval( )
  • 使用setTimeout( )方法来“一次性”地调用函数,并且可以使用clearTimeout( )来取消执行setTimeout( )。
setTimeout(code, time);

参数code可以是一段代码,可以是一个函数,也可以是一个函数名。参数time是时间,单位为毫秒,表示要过多长时间才执行code中的代码。

  • 使用setInterval( )方法来“重复性”地调用函数,并且可以使用clearInterval( )来取消执行setInterval( )。
setInterval(code, timme);

location对象

操作当前窗口的URL

在这里插入图片描述

window.location.href

navigator对象

使用window对象下的子对象navigator来获取浏览器的类型。

window.navigator.userAgent

document对象

document对象其实是window对象下的一个子对象,它操作的是HTML文档里所有的内容

document 对象属性

在这里插入图片描述

document 对象方法

在这里插入图片描述

《从0到1:JavaScript快速上手》

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值