- 博客(28)
- 收藏
- 关注
原创 js监听某个脚本动态加载完成
js监听某个脚本动态加载脚本;场景:第三方库加载了`highlight.js`库,需要在该库加载完成之后进行`registerLanguage`注册语言。要监听ID为xxx的`<script>`元素插入页面并加载完成,可以结合使用`MutationObserver`和`load`事件监听。
2025-02-19 10:53:54
207
原创 Angular核心底层原理
angular的核心底层原理,主要几个部分:变化检测机制 (Change Detection)、依赖注入系统、模板编译过程、组件生命周期、数据绑定原理、路由实现机制、模块加载机制、JIT vs AOT编译;核心优化方案
2025-01-15 14:38:25
293
原创 angular常用特性,一文详解、笔记
Angular 是一个用于构建web应用的平台和框架。有如下特性:声明式模板:使用 HTML 作为模板语言,通过Angular特有的指令和绑定来增强应用的展现。数据绑定:Angular 支持双向数据绑定,自动同步应用数据到视图。依赖注入:Angular 提供了一个简单的依赖注入系统,它允许你定义服务,然后在组件中注入这些服务,来处理库和组件之间的依赖关系。组件:创建可复用的代码,每个组件都有自己的模板、逻辑和样式。模块化:将应用分解成多个模块,以便管理。区域 (Zones)
2025-01-08 14:09:14
1889
原创 angular路由跳转及传参多种方式详解
1、指令routerLink跳转; 2. router.navigate; 3. router.navigateByUrl 4.参数传递及获取
2024-12-13 10:52:37
411
原创 angular自定义题目选项列表、checkboxGroup、radioGroup组件
angular组件库material没有checkboxGroup组件所以我们可以自定义封装一个,该组件讲checkboxGroup和radioGroup混合在了一起刚好业务需求要做一个题目选项列表效果,复习自定义表单组件话不多说,先上效果图:< select-group type = " radio " [options] = " {label: '选项一', value: 'A'} " [formControl] = " formControl " >
2024-12-12 10:24:12
363
原创 Observable取消订阅时为什么要先执行next()然后才执行complete()
Observable取消订阅时为什么先执行next()再执行complete()
2023-04-13 14:30:20
559
原创 JavaScript的3种继承方式
1. 原型链继承ECMAScript 把原型链定义为 ECMAScript 的主要继承方式。其基本思想就是通过原型继承多个引用类型的属性和方法。构造函数、原型和实例的关系:每个构造函数都有一个原型对象,原型有一个属性(constructor)指回构造函数,而实例有一个内部指针(__proto__)指向原型。 基本思路:一个内部指针指向另一个原型,相应地另一个原型也有一个指针指向另一个构造函数。这样就在实例和原型之间构造了一条原型链。// 创建A...
2021-10-15 16:00:58
171
原创 JavaScript内置对象及内置函数
String、Number、Boolean、Array、Data、Math、RegExp、Error、JSON1 基本包装类型在 ES 中,数据的分类分为基本数据类型和引用类型。而基本包装类型,严格来说不属于上面两个中的任意一个,但是又和这两种类型息息相关。ECMAScript提供了3个特殊引用类型(基本包装类型):Boolean, Number, String。基本包装类型,和其他引用类型一样,拥有内置的方法可以对数据进行额外操作。var str = 'test';//subs
2021-10-14 19:19:01
605
原创 JavaScript数组
1. 数组作用ECMAScript数组是有序列表,是存放多个值的集合。每一项都可以保存任何类型的数据。数组的大小是可以动态调整。数组的length属性:可读可写,可以通过设置length的值从数组的末尾移除项或向数组中添加新项。2. 数组创建字面量创建// 可以接收任何类型的数据当做数组的元素var arr = [12,name,true,"larry",{},function(){},[],null];// 获取数组的长度console.log(arr.length);/
2021-10-08 20:18:26
299
原创 JavaScript函数
1. 函数的作用函数允许我们封装一系列代码来完成特定任务。当想要完成某一任务时,只需要调用相应的代码即可。方法(method)一般为定义在对象中的函数。JavaScript 使用关键字 function 定义函数。函数的作用:功能的封装,直接调用,代码复用率提高 构建对象的模板(构造函数)2. 函数的声明函数声明function 函数名(形参列表){ //函数体}函数表达式var 函数名 = function(形参列表){ //函数体} 函数声明与v
2021-10-08 19:31:55
188
原创 JavaScript对象
无序属性的集合,其属性可以包含基本值,对象,或者函数。以key:value键值对的方式呈现。1. 对象的创建字面量模式var obj = { name: "zhangsan", age: 12, sayName: function(){ console.log("my name is ",this.name); }}构造函数模式var obj = new Object();obj.name = "zhangsan";obj.age = 12;obj.s
2021-10-08 18:46:44
181
原创 JavaScript操作符与运算数
1.1 算数运算符加法:+ 减法:- 乘法:* 除法:/ 求余:%正常的数据运算 数字字符运算,除“ + ”,其他自动将数字字符串隐式转换成数字console.log('1' + '2'); // '12'console.log('2' - '1'); // 1console.log('8' / '4'); // 2console.log('4' * '8'); // 32console.log('10' % '3'); // 1...
2021-09-27 20:01:10
148
原创 初识JavaScript
1.1 什么是JavaScript JavaScript(JS)是一种具有函数优先的轻量级、解释性、即时编译型的编程语言。 JavaScript是一种基于原型编程、多范式动态脚本语言,支持面向对象、命令式和声明式风格。 主要用来开发Web页面的脚本语言,也会用在非浏览器环境中( Node.js、 Apache CouchDB、Adobe Acrobat 等)。1.2 JavaScript组成部分ECMAScript:语言的语法和基本语言对象...
2021-09-27 18:52:05
154
原创 正则表达式常见验证问题美元验证、密码验证
正则表达式常见验证问题美元验证、密码验证1.验证是否为11位有效手机号码?以1为开头第二位为3,4,5,7,8中的任意一位最后以0-9的9个整数结尾var reg = /^1[34578]\d{9}$/;console.log(reg.test('13456448948')); // true解析:^1 以1开头[34578] &nb
2021-09-01 19:28:28
245
原创 javaScript正则表达式
目录1. 正则表达式是什么?2. 正则表达式的创建字面量创建构造函数创建3. 字符类型普通字符特殊字符模式修饰符4. 正则表达式的实例方法exec()test()toString()/toLocaleString()valueOf()5. 正则表达式的实例属性lastIndexignoreCase、global、multilinesource6. 正则表达式的字符直接量字符字符集合字符类边界符7. 数量词8. 选
2021-08-31 20:19:52
829
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人