- 博客(1526)
- 资源 (25)
- 收藏
- 关注
原创 javascript学习——字符串详解
字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。单引号字符串的内部,可以使用双引号。双引号字符串的内部,可以使用单引号。上面两个都是合法的字符串。如果要在单引号字符串的内部,使用单引号,就必须在内部的单引号前面加上反斜杠,用来转义。双引号字符串内部使用双引号,也是如此。由于 HTML 语言的属性值使用双引号,所以很多项目约定 JavaScript 语言的字符串只使用单引号,本教程遵守这个约定。当然,只使用双引号也完全可以。
2024-10-27 19:35:05 659
原创 javascript学习——对象详解
对象(object)是 JavaScript 语言的核心概念,也是最重要的数据类型。什么是对象?简单说,对象就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合。上面代码中,大括号就定义了一个对象,它被赋值给变量obj,所以变量obj就指向一个对象。该对象内部包含两个键值对(又称为两个“成员”),第一个键值对是,其中foo是“键名”(成员的名称),字符串Hello是“键值”(成员的值)。键名与键值之间用冒号分隔。第二个键值对是bar是键名,World是键值。两个键值对之间用逗号分隔。
2024-10-27 19:34:30 733
原创 javascript学习——数值类型详解
JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相同的,是同一个数。这就是说,JavaScript 语言的底层根本没有整数,所有数字都是小数(64位浮点数)。容易造成混淆的是,某些运算只有整数才能完成,此时 JavaScript 会自动把64位浮点数,转成32位整数,然后再进行运算,参见《运算符》一章的“位运算”部分。由于浮点数不是精确的值,所以涉及小数的比较和运算要特别小心。
2024-10-27 19:33:55 1248
原创 javascript学习——null, undefined 和布尔值
null与undefined都可以表示“没有”,含义非常相似。将一个变量赋值为undefined或null,老实说,语法效果几乎没区别。上面代码中,变量a分别被赋值为undefined和null,这两种写法的效果几乎等价。在if语句中,它们都会被自动转为false,相等运算符(==)甚至直接报告两者相等。从上面代码可见,两者的行为是何等相似!谷歌公司开发的 JavaScript 语言的替代品 Dart 语言,就明确规定只有null,没有undefined!
2024-10-27 19:33:19 825
原创 javascript学习——数据类型概述
JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的数据类型,共有六种。(ES6 又新增了第七种 Symbol 类型的值,本教程不涉及。13.14truefalseundefinednull通常,数值、字符串、布尔值这三种类型,合称为原始类型(primitive type)的值,即它们是最基本的数据类型,不能再细分了。对象则称为合成类型(complex type)的值,因为一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器。至于undefined和null。
2024-10-23 23:44:35 946
原创 javascript学习——函数
JavaScript 有三种声明函数的方法。(1)function 命令function命令声明的代码区块,就是一个函数。function命令后面是函数名,函数名后面是一对圆括号,里面是传入函数的参数。函数体放在大括号里面。上面的代码命名了一个print函数,以后使用print()这种形式,就可以调用相应的代码。这叫做函数的声明(Function Declaration)。(2)函数表达式除了用function命令声明函数,还可以采用变量赋值的写法。这种写法将一个匿名函数赋值给变量。
2024-10-23 23:43:56 844
原创 javascript学习——数组
数组(array)是按次序排列的一组值。每个值的位置都有编号(从0开始),整个数组用方括号表示。上面代码中的abc就构成一个数组,两端的方括号是数组的标志。a是0号位置,b是1号位置,c是2号位置。除了在定义时赋值,数组也可以先定义后赋值。任何类型的数据,都可以放入数组。上面数组arr的3个成员依次是对象、数组、函数。如果数组的元素还是数组,就形成了多维数组。
2024-10-23 23:43:20 791
原创 javascript学习——Boolean 对象
Boolean对象是 JavaScript 的三个包装对象之一。作为构造函数,它主要用于生成布尔值的包装对象实例。上面代码的变量b是一个Boolean对象的实例,它的类型是对象,值为布尔值true。注意,false对应的包装对象实例,布尔运算结果也是true。上面代码的第一个例子之所以得到true,是因为false对应的包装对象实例是一个对象,进行逻辑运算时,被自动转化成布尔值true(因为所有对象对应的布尔值都是true而实例的valueOf方法,则返回实例对应的原始值,本例为false。
2024-10-16 21:51:17 251
原创 javascript学习——属性描述对象
JavaScript 提供了一个内部数据结构,用来描述对象的属性,控制它的行为,比如该属性是否可写、可遍历等等。这个内部数据结构称为“属性描述对象”(attributes object)。每个属性都有自己对应的属性描述对象,保存该属性的一些元信息。下面是属性描述对象的一个例子。属性描述对象提供6个元属性。(1)value是该属性的属性值,默认为undefined。(2)writable是一个布尔值,表示属性值(value)是否可改变(即是否可写),默认为true。
2024-10-16 21:50:46 774
原创 javascript学习——Array对象
Array是 JavaScript 的原生对象,同时也是一个构造函数,可以用它生成新的数组。上面代码中,Array()构造函数的参数2,表示生成一个两个成员的数组,每个位置都是空值。如果没有使用new关键字,运行结果也是一样的。考虑到语义性,以及与其他构造函数用法保持一致,建议总是加上new。Array()构造函数有一个很大的缺陷,不同的参数个数会导致不一致的行为。可以看到,Array()作为构造函数,行为很不一致。因此,不建议使用它生成新数组,直接使用数组字面量是更好的做法。
2024-10-16 21:50:12 1082
原创 javascript学习——其他运算符,运算顺序
void运算符的作用是执行一个表达式,然后不返回任何值,或者说返回undefined。上面是void运算符的两种写法,都正确。建议采用后一种形式,即总是使用圆括号。因为void运算符的优先性很高,如果不使用括号,容易造成错误的结果。比如,void 4 + 7实际上等同于。下面是void运算符的一个例子。这个运算符的主要用途是浏览器的书签工具(Bookmarklet),以及在超级链接中插入代码防止网页跳转。请看下面的代码。
2024-10-13 10:55:52 444
原创 javascript学习——比较运算符
比较运算符用于比较两个值的大小,然后返回一个布尔值,表示是否满足指定的条件。上面代码比较2是否大于1,返回true。注意,比较运算符可以比较各种类型的值,不仅仅是数值。JavaScript 一共提供了8个比较运算符。======!!==这八个比较运算符分成两类:相等比较和非相等比较。两者的规则是不一样的,对于非相等的比较,算法是先看两个运算子是否都是字符串,如果是的,就按照字典顺序比较(实际上是比较 Unicode 码点);否则,将两个运算子都转成数值,再比较数值的大小。
2024-10-13 10:55:16 735
原创 javascript学习——二进制位运算符
二进制位运算符用于直接对二进制位进行计算,一共有7个。001>>>这些位运算符直接处理每一个比特位(bit),所以是非常底层的运算,好处是速度极快,缺点是很不直观,许多场合不能使用它们,否则会使代码难以理解和查错。有一点需要特别注意,位运算符只对整数起作用,如果一个运算子不是整数,会自动转为整数后再执行。另外,虽然在 JavaScript 内部,数值都是以64位浮点数的形式储存,但是做位运算的时候,是以32位带符号的整数进行运算的,并且返回值也是一个32位带符号的整数。上面这行代码的意思,就是将。
2024-10-13 10:54:03 900
原创 javascript学习——算术运算符
JavaScript 共提供10个算术运算符,用来完成基本的算术运算。加法运算符x + y减法运算符x - y乘法运算符x * y除法运算符x / y指数运算符x ** y余数运算符x % y自增运算符++x或者x++自减运算符--x或者x--数值运算符+x负数值运算符-x减法、乘法、除法运算法比较单纯,就是执行相应的数学运算。下面介绍其他几个算术运算符,重点是加法运算符。
2024-10-13 10:52:50 978
原创 javascript学习——this关键字
this关键字是一个非常重要的语法点。毫不夸张地说,不理解它的含义,大部分开发任务都无法完成。前一章已经提到,this可以用在构造函数之中,表示实例对象。除此之外,this还可以用在别的场合。但不管是什么场合,this都有一个共同点:它总是返回一个对象。简单说,this就是属性或方法“当前”所在的对象。上面代码中,this就代表property属性当前所在的对象。下面是一个实际的例子。上面代码中,this.name表示name属性所在的那个对象。由于this.name是在describe。
2024-10-12 16:13:42 281
原创 javascript学习——strict mode(严格模式)
除了正常的运行模式,JavaScript 还有第二种运行模式:严格模式(strict mode)。顾名思义,这种模式采用更加严格的 JavaScript 语法。同样的代码,在正常模式和严格模式中,可能会有不一样的运行结果。一些在正常模式下可以运行的语句,在严格模式下将不能运行。
2024-10-12 16:13:11 377
原创 javascript学习——对象的继承
JavaScript 通过构造函数生成新对象,因此构造函数可以视为对象的模板。实例对象的属性和方法,可以定义在构造函数内部。var cat1 = new Cat('大毛', '白色');cat1.name // '大毛'cat1.color // '白色'上面代码中,Cat函数是一个构造函数,函数内部定义了name属性和color属性,所有实例对象(上例是cat1)都会生成这两个属性,即这两个属性会定义在实例对象上面。通过构造函数为实例对象定义属性,虽然很方便,但是有一个缺点。
2024-10-12 16:12:29 772
原创 javascript学习——Object 对象的相关方法
JavaScript 在Object对象上面,提供了很多相关方法,处理面向对象编程的相关操作。本章介绍这些方法。
2024-10-12 16:11:50 719
原创 javascript学习——实例对象与 new 命令
JavaScript 语言具有很强的面向对象编程能力,本章介绍 JavaScript 面向对象编程的基础知识。
2024-10-12 16:11:16 585
原创 javascript学习——编程风格
编程风格”(programming style)指的是编写代码的样式规则。不同的程序员,往往有不同的编程风格。有人说,编译器的规范叫做“语法规则”(grammar),这是程序员必须遵守的;而编译器忽略的部分,就叫“编程风格”(programming style),这是程序员可以自由选择的。这种说法不完全正确,程序员固然可以自由选择编程风格,但是好的编程风格有助于写出质量更高、错误更少、更易于维护的程序。
2024-10-11 14:51:41 832
原创 javascript学习——Error对象及错误处理机制
以上这6种派生错误,连同原始的Error对象,都是构造函数。开发者可以使用它们,手动生成错误对象的实例。这些构造函数都接受一个参数,代表错误提示信息(message)。var err1 = new Error('出错了!');var err2 = new RangeError('出错了,变量超出有效范围!');var err3 = new TypeError('出错了,变量类型无效!');err1.message // "出错了!err2.message // "出错了,变量超出有效范围!
2024-10-11 14:51:05 397
原创 javascript学习——数据类型的转换
JavaScript 是一种动态类型语言,变量没有类型限制,可以随时赋予任意值。上面代码中,变量x到底是数值还是字符串,取决于另一个变量y的值。y为true时,x是一个数值;y为false时,x是一个字符串。这意味着,x的类型没法在编译阶段就知道,必须等到运行时才能知道。虽然变量的数据类型是不确定的,但是各种运算符对数据类型是有要求的。如果运算符发现,运算子的类型与预期不符,就会自动转换类型。比如,减法运算符预期左右两侧的运算子应该是数值,如果不是,就会自动将它们转为数值。
2024-10-11 14:50:32 342
原创 javascript学习——console 对象与控制台
console对象是 JavaScript 的原生对象,它有点像 Unix 系统的标准输出stdout和标准错误stderr,可以输出各种信息到控制台,并且还提供了很多有用的辅助方法。console的常见用途有两个。console对象的浏览器实现,包含在浏览器自带的开发工具之中。以 Chrome 浏览器的“开发者工具”(Developer Tools)为例,可以使用下面三种方法的打开它。打开开发者工具以后,顶端有多个面板。这些面板都有各自的用途,以下只介绍Console面板(又称为控制台)。Console。
2024-10-11 14:49:46 353
原创 javascript学习——触摸事件详解
Touch 接口代表单个触摸点。触摸点可能是一根手指,也可能是一根触摸笔。浏览器原生提供Touch构造函数,用来生成Touch实例。Touch构造函数接受一个配置对象作为参数,它有以下属性。identifier:必需,类型为整数,表示触摸点的唯一 ID。target:必需,类型为元素节点,表示触摸点开始时所在的网页元素。clientX:可选,类型为数值,表示触摸点相对于浏览器窗口左上角的水平距离,默认为0。clientY:可选,类型为数值,表示触摸点相对于浏览器窗口左上角的垂直距离,默认为0。
2024-10-10 16:27:07 1214
原创 javascript学习——进度事件
进度事件用来描述资源加载的进度,主要由 AJAX 请求、等外部资源的加载触发,继承了接口。它主要包含以下几种事件。aborterrorloadloadstartloadenderrorabortloadprogresstimeout注意,除了资源下载,文件上传也存在这些事件。下面是一个例子。上面代码在图片元素加载完成后,为图片元素添加一个finished的 Class。如果加载失败,就把图片元素的样式设置为不显示。
2024-10-10 16:23:42 438
原创 javascript学习——事件模型
浏览器的事件模型,就是通过监听函数(listener)对事件做出反应。事件发生后,浏览器监听到了这个事件,就会执行对应的监听函数。这是事件驱动编程模式(event-driven)的主要编程方式。JavaScript 有三种方法,可以为事件绑定监听函数。
2024-10-10 16:23:09 1142
原创 javascript学习——鼠标事件详解
WheelEvent 接口继承了 MouseEvent 实例,代表鼠标滚轮事件的实例对象。目前,鼠标滚轮相关的事件只有一个wheel事件,用户滚动鼠标的滚轮,就生成这个事件的实例。浏览器原生提供构造函数,用来生成WheelEvent实例。构造函数可以接受两个参数,第一个是字符串,表示事件类型,对于滚轮事件来说,这个值目前只能是wheel。第二个参数是事件的配置对象。该对象的属性除了EventUIEvent的配置属性以外,还可以接受以下几个属性,所有属性都是可选的。deltaX。
2024-10-10 16:22:39 1397
原创 javascript学习——键盘事件详解
接口用来描述用户与键盘的互动。这个接口继承了Event接口,并且定义了自己的实例属性和实例方法。浏览器原生提供构造函数,用来新建键盘事件的实例。构造函数接受两个参数。第一个参数是字符串,表示事件类型;第二个参数是一个事件配置对象,该参数可选。除了Event接口提供的属性,还可以配置以下字段,它们都是可选。key:字符串,当前按下的键,默认为空字符串。code:字符串,表示当前按下的键的字符串形式,默认为空字符串。location:整数,当前按下的键的位置,默认为0。ctrlKey。
2024-10-10 16:22:04 1134
原创 javascript学习——表单事件详解
input事件当的值发生变化时触发。对于复选框()或单选框(),用户改变选项时,也会触发这个事件。另外,对于打开属性的元素,只要值发生变化,也会触发input事件。input事件的一个特点,就是会连续触发,比如用户每按下一次按键,就会触发一次input事件。input事件对象继承了InputEvent接口。该事件跟change事件很像,不同之处在于input事件在元素的值发生变化后立即发生,而change在元素失去焦点时发生,而内容此时可能已经变化多次。
2024-10-10 16:21:32 1264
原创 javascript学习——Event 对象详解
事件发生以后,会产生一个事件对象,作为参数传给监听函数。浏览器原生提供一个Event对象,所有的事件都是这个对象的实例,或者说继承了对象。Event对象本身就是一个构造函数,可以用来生成新的实例。构造函数接受两个参数。第一个参数type是字符串,表示事件的名称;第二个参数options是一个对象,表示事件对象的配置。该对象主要有下面两个属性。bubblesfalsecancelablefalse上面代码新建一个look事件实例,然后使用方法触发该事件。注意,如果不是显式指定bubbles属性为true。
2024-10-10 16:20:55 1167
原创 javascript学习——拖拉事件详解
所有拖拉事件的实例都有一个属性,用来读写需要传递的数据。这个属性的值是一个接口的实例。浏览器原生提供一个构造函数,用来生成实例对象。构造函数不接受参数。拖拉的数据分成两方面:数据的种类(又称格式)和数据的值。数据的种类是一个 MIME 字符串(比如text/plainimage/jpeg),数据的值是一个字符串。一般来说,如果拖拉一段文本,则数据默认就是那段文本;如果拖拉一个链接,则数据默认就是链接的 URL。拖拉事件开始时,开发者可以提供数据类型和数据值。拖拉过程中,开发者通过。
2024-10-10 16:20:12 892
原创 javascript学习——video标签详解
video>元素用来加载视频,是对象的实例。元素用来加载音频,是对象的实例。而和都继承了,所以这两个 HTML 元素有许多共同的属性和方法,可以放在一起介绍。理论上,这两个 HTML 元素直接用src属性指定媒体文件,就可以使用了。注意,元素有width属性和height属性,可以指定宽和高。元素没有这两个属性,因为它的播放器外形是浏览器给定的,不能指定。实际上,不同的浏览器支持不同的媒体格式,我们不得不用元素指定同一个媒体文件的不同格式。
2024-10-08 23:55:52 976
原创 javascript学习——option标签详解
option>元素表示下拉框(或)里面的一个选项。它是 HTMLOptionElement 接口的实例。
2024-10-08 23:55:21 346
原创 javascript学习——IMG元素详解
img>元素用于插入图片,主要继承了 HTMLImageElement 接口。浏览器提供一个原生构造函数Image,用于生成实例。构造函数可以接受两个整数作为参数,分别表示元素的宽度和高度。实例的src属性可以定义图像的网址。新生成的实例并不属于文档的一部分。如果想让它显示在文档中,必须手动插入文档。除了使用Image构造,下面的方法也可以得到实例。实例除了具有 Node、Element、HTMLElement 接口以外,还拥有一些独有的属性。
2024-10-08 23:54:12 1088
原创 javascript学习——button标签详解
该属性可读写,一旦设置了值,点击后就会采用该属性指定的 HTTP 方法,而不是。该属性可读写,一旦设置了值,点击按钮会按照该属性指定的编码方式,而不是。该属性可读写,一旦设置了值,点击按钮就会提交到该属性指定的 URL,而不是。属性是一个字符串,指定了提交了表单以后,哪个窗口展示服务器返回的内容。属性是一个布尔值,表示点击按钮提交表单时,是否要跳过表单校验的步骤。属性是一个表单元素,返回该按钮所在的表单。属性是一个布尔值,表示该按钮提交表单时是否将被校验,默认为。属性是一个布尔值,表示该按钮是否禁止点击。
2024-10-08 23:53:03 809
原创 javascript学习——a标签详解
a>元素用来设置链接。除了网页元素的通用接口(Node接口、Element接口、接口),它还继承了接口和接口。
2024-10-08 23:52:20 1187
原创 javascript学习——Text 节点和 DocumentFragment 节点
文本节点(Text)代表元素节点(Element)和属性节点(Attribute)的文本内容。如果一个节点只包含一段文本,那么它就有一个文本子节点,代表该节点的文本内容。通常我们使用父节点的firstChild等属性获取文本节点,或者使用Document节点的方法创造一个文本节点。浏览器原生提供一个Text构造函数。它返回一个文本节点实例。它的参数就是该文本节点的文本内容。注意,由于空格也是一个字符,所以哪怕只有一个空格,也会形成文本节点。比如, 包含一个空格,它的子节点就是一个文本节点。
2024-10-07 17:07:21 1001
基于servlet+jsp实现的web聊天系统.zip
2024-07-15
采用原生php开发的一套基于前后端分离的权限认证系统.zip
2024-07-15
毕业设计-计算机与软件学院本科生毕业论文管理系统-基于C#实现.zip
2024-07-15
【大学生创新创业项目】结构健康监测SHM:预应力锚索无损检测分析(技术:DSP、FFT、STFT、Delphi)
2024-07-15
Gobang,Java,基于Socket和Swing编写的多人联网桌面五子棋小游戏.zip
2024-07-15
Rust + WASM + 神经网络 + 遗传算法.zip
2024-07-15
毕业设计&课设-工科创IV-E:智能小车机器人.zip
2024-07-15
毕业设计&课设-基于51单片机的智能小车项目.zip
2024-07-15
基于51单片机的DS18B20简易温度报警系统.zip
2024-07-15
51单片机Mlx90614红外测温,使用LCD1602显示.zip
2024-07-15
运用神经网络算法和Minst数据集制作的手写数字识别系统.zip
2024-07-15
一个嵌入式操作系统, 运行在stm32.zip
2024-07-15
基于MongoDB+Spark+ElasticSearch的电影推荐系统.zip
2024-07-15
卷积神经网络(CNN)提取影评特征构建电影推荐系统,pytorch实现.zip
2024-07-15
基于 html、css 和 js 大致复刻大数据行程卡页面并进行二次创作.zip
2024-07-15
关于HEVC帧间预测测试AMP模式的快速算法.zip
2024-07-15
基于python和flask的图书管理系统.zip
2024-07-15
Python + Flask 搭建的爬虫系统.zip
2024-07-15
毕业设计&课设-JD 城市物流运输车辆智能调度.zip
2024-07-15
用于给各位同学学习蓝桥杯的51单片机代码.zip
2024-07-15
毕业设计&课设-STM32+线性CCD寻迹测速智能车.zip
2024-07-15
2017大创项目(Students' Innovative Training Program).zip
2024-07-15
毕业设计&课设-2020美赛c题代码参考.zip
2024-07-15
ACM集训、国赛、美赛算法实现,各种智能算法(遗传算法、模拟退火算法、蚁群算法、粒子算法、神经网络算法等)实现和优化
2024-07-15
雪浪工业数据智能挑战赛 工业智检-电机异音AI诊断.zip
2024-07-15
计算机日用基础-计算机二级,学习资料相关资源、试题.zip
2024-07-15
大三编译原理作业,SQL的解释器,可以解释执行SQL命令,创建小型数据库.zip
2024-07-15
毕业设计&课设-基于matlab的通信原理.zip
2024-07-15
毕业设计&课设-毕业设计&课设-Xcode8以上版本,已升级为Swift3.x语法
2024-07-15
python flask 创建博客系统.zip
2024-07-15
自己写的一些东西,包含java工具类,js插件类,小游戏等等 .zip
2024-07-15
51单片机的汇编程序和C程序.zip
2024-07-15
2020厦门国际银行数创金融杯建模大赛Baseline.zip
2024-07-15
毕业设计&课设-网络聊天(SpringBoot+Mybatis plus+Netty+Docker+Redis).zip
2024-07-15
51单片机串口通信控制蜂鸣器播放音乐.zip
2024-07-15
毕业设计&课设-飞思卡尔智能车比赛Matlab结合C处理图像程序.zip
2024-07-15
机器学习实验:使用mnist与usps数据集,采用BP神经网络与SVM支持向量机的方式实现手写数字的识别
2024-07-15
QT&C++ 学生成绩管理系统 ,无需配置环境,有安装包,适合快速理解.zip
2024-07-15
毕业设计-(基于python和定向爬虫的商品比价系统的实现).zip
2024-07-15
在ROS系统下利用串口发送数据到STM32.zip
2024-07-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人