- 博客(17)
- 收藏
- 关注
原创 设计模式和垃圾回收
任何代码的执行,都需要在内存中进行,代码运行结束后,就需要释放内存,否则随着代码运行的数量增多,有限的内存会承受不住太大的负担而崩溃。浏览器为了释放js中没有用的内存空间,设计了专业的垃圾回收机制。垃圾回收机制,不是即时处理垃圾内存的,而是有周期性的,隔一段时间,处理一次。被内存空间中,页面在打开状态时,全局变量的内存是不会被释放的,因为在页面正在运行时,全局变量随时都可能会使用。全局变量的内存会在页面关闭后被回收。所以这里要介绍的垃圾回收机制,主要是指局部变量和执行空间。
2023-04-12 19:15:28
130
原创 Object中的方法
语法:Symbol(字符串) 返回一个Symbol数据 每个Symbol数据都是唯一的。3.Proxy --- 创建一个被劫持/监听的对象,当访问,设置,删除对象键值对的时候被监视到。get(){ 当访问这个对象的属性的时候会先触发这个函数。set(){ 当修改这个对象的属性的时候会先触发这个函数。当对象属性的值被修改时,可以监视到,访问对象属性的值的时候,可以监视到。语法:Object.defineProperty(对象,属性名,{如果作为对象的键使用,可以保证每个键都是唯一的。
2023-04-10 21:30:39
168
原创 DOM高级 封装简单动画
@param {number} obj 要动画的属性和目标值组成的键值对。* @param {number} fn 动画结束后要执行的函数。* @param {node} ele 要设置动画的标签。delay: 1000,//1秒切换一次。
2023-04-01 15:31:41
93
原创 this关键字和ES6
1.let是es6新增的定义便令的关键字 使用方式跟var是一样的let a = 20 // let定义变量没有预解析不允许重复定义(就是一个变量名不能赋两次值 例如 var a=10;var a= 20;let定义的变量会自带块级作用域(全局定义的变量不在window)2.const-定义常量 -使用方式跟var一样let的特性const都有 const定义就必须赋值 const a = 20 值不能更改。
2023-03-29 20:48:43
139
原创 js中的事件
input input的value值改变(input事件在低版本中的IE中不兼容,使用onpropertychange代替)1.鼠标相对当前标签的位置: 事件对象.offsetX 事件对象.offsetY。2.鼠标相对浏览器的位置: 事件对象.clientX 事件对象.clientY。事件对象包含了事件的类型丶鼠标点击的位置丶在屏幕中和浏览器中的位置.还以其他很多信息。3.鼠标相对整个网页的位置: 事件对象.pageX 事件对象.pageY。
2023-03-28 21:31:58
348
原创 BOM和DOM第二部分
var i = document.createElement('i') i.innerText = '文本倾斜' ul.insertBefore(i,b)var u = document.createElement('u') u.innerText = '下划线' ul.replaceChild(u,i)标签.cloneNode(true) ---带内容复制 var newu= u.cloneNode(true)给父追加一个子 - 将这个标签作为某个父标签的最后一个儿子。
2023-03-25 14:56:31
66
原创 js中的BOM和DOM
获取地址或者设置地址--console.log(location.href);宽 console.log(window.innerWidth) console.log(innerWidth)2.获取/设置整个url中的数据部分---console.log(location.search)3.获取/设置整个地址中的锚点 console.log(location.hash);
2023-03-23 20:25:27
113
原创 学习js的第八天 Math 和 时间日期
包0不包1的小数需要包0不包10的随机整数 console.log(Math.floor(Math.random()*10));包5不包15的随机整数 console.log(Math.floor(Math.random()*10)+5);包20不包100的整数 console.log(Math.floor(Math.random()*80)+20);
2023-03-22 20:54:55
69
原创 学习js的第七天 ES5和字符串
/ 找到o字符在str中最后一次出现的位置// 8var s = str.lastIndexOf('o',7) // 将下标7当做字符串末尾,查找字符o在字符串中最后一次出现的下标console.log(s) // -1 - 找不到就返回-1。
2023-03-21 15:45:01
174
原创 学习js的第六天 数组
这是一个空数组,定义带数据的数组:var arr = ['张三','李四','王五','赵六']数组中的数据类型没有限制,在实际项目中,数组中通常会存储同一类型的数据。var arr = ['a',2,false,undefined,{name:"张三"}];数组这种数据,相当于在一个大空间中,有很多小空间,每个值前面的数字,表示这个小空间的编号,专业术语叫下标。第一个下标永远是0,依次向后递增,最后一个下标是值的个数-1也就是说,数组这种数据中每个值是有顺序的。
2023-03-20 21:57:58
333
原创 学习js的第四天
function 函数名(){代码段# function是一个关键字,函数名自定义,定义规则和变量的定义规则相同当我们定义好函数,并在页面中刷新的时候,会发现这段代码并没有被执行。因为函数定义好后,是不会自动执行的,需要我们进行调用。
2023-03-18 20:35:08
72
原创 学习js的第三天
条件成立,所以又运行了大括号中的代码------第二次执行 i++;断点调试是指自己在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后你可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下。循环流程相似,唯一不同的地方在于do while循环会先执行一次,不管条件是否成立,先执行一次,后面的流程和while循环一样。while循环需要我们在循环外就将变量声名好,在执行代码的过程中,一定要让变量进行变化,否则这个循环就会无休止的进行下去。
2023-03-18 20:12:38
74
原创 学习js的第二天
注意:使用多路判断的时候,能使用switch进行判断,就尽量使用switch,因为switch的判断都是确定的值,条件比较简单,所以效率高。当day的值为2的时候,不会执行后面的代码,当day的值为3的时候,执行完3的代码,还会执行4的代码,因为3的代码后面没有break。如果case后面不写break,那当前case执行后,会继续执行后面的case中的代码。如果单分支或双分支以及多分支的大括号中只有一行代码的时候,大括号可以省略。如果判断的分支小于等于3个,就使用if,这时候的效率和switch一样。
2023-03-18 20:08:00
61
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人