- 博客(24)
- 收藏
- 关注
原创 JavaScript的异步编程
ECMAScript6新增了正式的期约Promise引用类型,支持优雅地定义和组织异步逻辑。并增加了async和await关键字定义异步函数的机制。异步编程同步行为和异步行为的对立统一是计算机科学的重要概念。异步行为是为了优化因计算量大而时间长的操作。同步和异步同步行为:对应内存中顺序执行的处理器指令。异步行为:类似系统中断,即当前进程外部实体可以触发代码执行。let x = 3;x = x + 1;setTimeout(() => x = x + 1, 1000);setT
2021-10-17 17:17:18
189
原创 JavaScript的函数
ECMAScript中的函数实际上是对象。每个函数都是Function的实例,而Function也有属性和方法,和其他引用类型一样。函数是对象,函数名就是指向函数对象的指针,而且不一定与函数本身紧密绑定。箭头函数ESMAScript6新增了箭头函数,可以视为函数的简洁写法。箭头函数和普通函数区别argumentsupernew.target不能用作构造函数没有prototype属性this指向不同函数名函数名就是指向函数的指针。所以一个函数可以有多个名称。ECMAScript6中
2021-09-19 14:26:56
145
原创 JavaScript的反射和代理
ES6新增的代理和反射为开发者提供了拦截并向基本操作嵌入额外行为的能力,为对象定义一个关联的代理抽象对象,通过操作这个对象来对控制被代理的对象。代理基础代理是目标对象的抽象。代理类似C++指针,因为它可以作为目标对象的替身,但又完全独立于目标对象,目标对象既可以被直接操作,也可以通过代理来操作。创建代理代理是使用Proxy来创建的,Proxy接受2个参数:目标对象和处理程序对象。定义捕获器使用代理的主要目的是可以定义捕获器,捕获器就是在处理程序对象中定义的基本操作的拦截器,拦截对应的操作。co
2021-09-19 14:25:15
181
原创 JavaScript的对象和面向对象编程
ECMA-262将对象定义为一组属性的无序集合,没有特定顺序的值。可以将其看成一张[键(string)值对]的散列表。对象创建对象有2种写法:一种是new一个实例,一种是字面量。// 字面量let obj = { name: "lisan", age: 20, phone: undefined, // 一般不要在obj外部新建属性。直接在写字面量时,将可能的值赋值为undefined。 getPhone() { return this.phone;
2021-09-19 14:12:23
181
原创 JavaScript的迭代器和生成器
ECMAScript6新增了两个高级特性:迭代器和生成器。迭代器循环就是迭代机制的基础。迭代会在有序集合上进行。for循环执行迭代不理想:事先要知道如何使用数据结构。遍历顺序不是数据结构固有的。迭代器模式迭代器模式:一些数据结构称为可迭代对象,它们实现了正式的Iterable接口,可以通过迭代器消费。可迭代协议实现Iterable接口(可迭代协议)需要具备两种能力:支持迭代的自我识别能力。创建实现Iterable接口的对象的能力。可迭代对象必须暴露一个属性作为默认迭代器,这个
2021-09-19 14:09:40
152
原创 JavaScript的引用类型
常用集合引用类型包括Object、Array、Map、Set等Object大多数引用值都是使用的Object类型。// 字面量定义let obj = { // 存储任意类型的值。 val: 10, obj: {}, func() { }};// 取值console.log(obj.val);console.log(obj["val"]);ArrayJavaScript中的数组是动态的,可以存储任意类型的值,一组有序的数据。当数组长度变化时会销毁原
2021-09-19 14:07:01
368
原创 JavaScript基本类型
引用值是某个特定引用类型的实例。应用类型就是把数据和功能组合到一起的结构。引用类型虽然像类,但它和类不是一个概念。DateDate是从1970年1月1号00:00:00开始的时间const now = new Date();Date.parse()静态方法Date.parse() 接收一个日期字符串,返回对应日期的毫秒数。Date.UTC() 接收参数,返回对应日期的毫秒数。Date.now() 返回当前日期的毫秒数。继承方法重写了Object的方法。toLocaleStr
2021-09-19 14:06:10
153
原创 JavaScript的变量、作用域和内存
JavaScript是弱类型语言,变量没有限定类型。原始值和引用值原始值:就是简单值,Undefined、Null、Boolean、Number、String、Symbol、BigInt,是按值访问的,数据存储在栈内存中的。引用值:就是多个值构成的对象。操作对象时是对对象的引用,而不是其本身。对象的引用存在栈内存中,对象本身存储在堆内存中的。动态属性原始值不能添加属性,只能通过字面量进行初始化。引用值可以动态添加属性,通过new 或 {} , [] 等来创建。复制属性原始值复制的是一个值
2021-09-19 14:04:58
149
原创 JavaScript的核心
任何语言的核心都是这个语言在基本层面上是如何工作的。语法、操作符、数据类型、内置功能。JavaScript的语法实现都是根据ECMAScript标准来的语法ECMAScript借鉴了C已经类C的语法。其实这个语言的语法都是抄来抄去的,换的可能只是写法或关键字,当然也有一些语言自己创建的语法,简化了一些复杂的操作。区分大小写C和类C语言都是区分大小写的。标识符标识符就是变量、函数、属性、函数参数的名称。组成:第一个字符必须是字母、下划线、美元符号。其他字符可以是字母、下划线、美元符、数字。
2021-09-19 14:00:55
328
原创 在html中使用JavaScript
JavaScript的出现就是为了在网页中使用,如何在HTML中使用成了一个问题,在引入JavaScript时不会导致HTML在浏览器中的渲染不会出问题。后来就提出了script标签。script 标签这个是由网景公司创造的。script不仅仅可以写 JavaScript。script 可以写任何语言,就看浏览器是怎么去支持了。目前浏览器主要还是支持的是JavaScript。不过这个标签也给未来浏览器支持其他语言提供了一个容器。8个属性:async:立即开始下载脚本,单不能阻止其他页面动作,如下载
2021-09-19 13:59:33
240
原创 JavaScript的诞生和发展发展历程
JavaScript高级程序设计第四版诞生和发展发展历程诞生1995年,为了解决在浏览器层面对表单验证诞生。是由网景公司一名工程师Brendan Eich设计开发的一种脚本语言。为了乘Java的风而JavaScript(改名)。发展历程后来微软盗版了JavaScript(JScript,万恶的资本家对技术的蹂躏,专利权的重要性。),造就了一代霸主IE浏览器。经过漫长的浏览器大战,IE、谷歌、火狐三分天下。不过各家不同的标准差异,最受折磨的其实是程序员,要考虑不同浏览器不同版本的各种差异。 欧洲计
2021-09-19 13:56:17
524
原创 vue的一些简单认识
关于Vuevue是一个渐进式框架:先用会用的,不会用的用其他代替,然后可以再慢慢去学习。由底到上,由浅入深。一、数据驱动数据改变页面上相应的数据发生变化vue先生成一个DOM树,其实就是一个对象(万物皆对象)。数据发生变化后,执行函数,这个函数会触发算法,缓存之前的DOM树,生成新的DOM树,比较变化。若发生变化了,找到页面对应的位置进行变化。二、插槽子组件 ({插槽1=1,插槽2=2},props:{}){ this.props = props; retrun 插槽1+插槽2}
2021-03-24 22:29:34
188
原创 html笔记(九)关于媒体文件的一些标签
媒体1、img标签:使用标签定义 HTML 页面中的图像。标签有两个必需的属性:src和alt。定义图像的语法是:<img src="url" alt="some_text"> 属性:src值为图像的URL地址。alt是图片加载不出来时显示的内容。img和input一样都是行内块元素:height/width/padding/margin均可用。is...
2019-08-15 15:48:29
422
原创 HTML笔记(八)CSS兼容和响应布局
兼容厂商前缀浏览器 厂商前缀 浏览器内核火狐 -moz- geckoIE -ms- trident(IE内核)谷歌,苹果 -webkit- webkit(谷歌已经弃用)欧朋 ...
2019-08-09 10:02:33
174
原创 HTML笔记(七)CSS3新增的一些属性
Css3新增属性一、圆角、阴影1.圆角 border-radius:value; 四个角 border-radius:value value; 左上角,右下角 右上角,左下角 border-radius:value value value; border-radius:value value value value; 顺时针转,左上角开始 ...
2019-08-09 09:58:14
159
原创 HTML笔记(六)CSS 浮动 定位
浮动 定位Css浮动1.定义 定义元素框相对于其正常位置应该出现的位置2.分类 普通流定位 浮动定位 相对定位 绝对定位 固定定位3.浮动定位指• 将元素排除在普通流之外• 元素将不在页面中占据空间• 将浮动元素放置在包含框的左边或者右边• 浮动元素依旧位于包含框之内浮动的框可以向左或者向右移动,直到他的外边缘碰到包含框或另一个浮动框的边框为止。4、浮动...
2019-07-29 23:07:58
298
原创 HTML笔记(五)CSS盒模型
标准盒模型W3C盒模型盒模型由内容(content)、填充(padding)、边框(border)、边界(margin)组成 实际宽度=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界1.外边距 margin 围绕在元素边框周围的空白区域 会在元素外创建额外的空白区域 外边距是透明的 语法:margin:value;1.1、单边设置margin-top/righ...
2019-07-29 22:55:26
254
原创 HTML笔记 (四) css的常见属性、选择器、hack
一、Css属性黑白瀑布width 宽height 高取值:像素 px ;百分比 %(占父元素的比例)块级元素和行内元素的区别:1.块级元素独占一行,行内元素在同一行显示2.块级元素默认宽度为100%,行内元素宽度由内容撑开3.块级元素可以设置宽高,行内元素不能设置宽高4.块级元素可以包含块级元素和行内元素,一般行内元素不要包含块级元素<div style="wid...
2019-07-26 23:31:19
295
原创 HTML笔记(三)内联框架、表单
内联框架iframe格式<iframe src=”” width="" height="" ></iframe>Iframe的一些属性①width 可设置内联框架的宽②height 可设置内联框架的高③name 设置框架名称 ④src 设置页面的路径⑤scrolling规定是否在 iframe 中显示滚动条(yes,no,auto)⑥ framebord...
2019-07-26 22:43:35
618
原创 HTML笔记(二)HTML常用标签
HTML常用标签1.强制换行<br/>没有任何属性2.水平线<hr/>块级元素属性值color:颜色size:线的高度width:线的长度align:默认值为center链接1.超链接<a></a>双标记,行内元素属性:href 路径target 跳转窗口:默认值 _self 原窗口打开 ...
2019-07-26 16:46:36
233
原创 HTML笔记(一)何为HTML
HTML1.概念 超文本标记语言(HyperText Markup Language结构包括 “head”头部分、和“body”主体部分,其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。2.作用 HTML写网页内容(结构)3.组成<> 标签,标记1、双标记 (封闭类型标记)<h1> </h1>开始标签 ...
2019-07-26 15:47:40
365
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人