
javascript
七月shi人
公众号,智多星手册,分享软件/编程/AI和AIGC相关内容
展开
-
遍历、筛选for in / forEach()
for…in 语句用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。 for (变量 in 对象) { 在此执行代码 } for-in循环应该用在非数组对象的遍历上,使用for-in进行循环也被称为“枚举”。 从技术上将,你可以使用for-in循环数组(因为JavaScript中数组也是对象),但这是不推荐的。因为如果数组对象已被自定义的功能增强,就可能发生逻辑错原创 2016-07-04 22:34:10 · 1821 阅读 · 0 评论 -
JavaScript原理(二)
一、DOM性能1、尽量较少DOM节点的操作(增,删,改,查)。因此对于DOM的操作都尽量进行变量缓存。2、使用HTML集合优化(类数组,但是没数组的方法)。document.getElementsByClassName()document.getElementsByName()document.getElementsByTagName()如果需要多次使用集合,可以考虑将集合复制到一个数组。(复制原创 2017-11-29 17:16:43 · 301 阅读 · 0 评论 -
JavaScript原理(一)
一、函数解析JavaScript解析是一段一段,并非一行一行解析。同一段中function语句和函数直接量定义的函数总会被优先编译执行(该执行不是调用函数),之后才会执行其他函数。new Function()在运行时动态地被执行(导致作用域也不同于前者)。前两者基本相同,因为被优先编译处理,new耗时非常高,每次循环都动态编译// 三种函数创建的速度测试var zz = new Da原创 2017-11-02 21:25:50 · 1916 阅读 · 0 评论 -
js容易被忽略的内容(一)
1 / 3 === (1 - 2 / 3); // false计算机无法精确表示无限循环小数,所以有误差isNaN(NaN); // true唯一能判断NaN的方法是通过isNaN()函数多数情况,应该用null。undefined仅仅在判断函数参数是否传递的情况下有用。‘use strict’ 变量未使用var错误原创 2017-04-23 12:07:51 · 420 阅读 · 0 评论 -
js中this(二)
判断this指向的关键点:1. 函数调用,this等于window2. 对象方法调用时,this等于那个对象。3. 匿名函数的执行环境具有全局性,因此其this对象通常指向window4. call、apply、bind,new等会改变this指向5. 多次调用,this指向直接调用方法的对象例:哪个对象调用了方法,该方法的this就指向那个对象多次调用,this指向直接调用方法的对象var原创 2017-05-09 16:36:37 · 329 阅读 · 0 评论 -
javascript数组定义、操作
数组有四种定义的方式使用构造函数: var a = new Array(); var b = new Array(8); var c = new Array(“first”, “second”, “third”); 或者数组直接量: var d = [“first”, “second”, “third”];new Array()创建的数组的length有些问题,下面代码v原创 2016-08-04 22:40:46 · 626 阅读 · 0 评论 -
js逻辑与或非
首先js 会将 && 和 || 两边的值转成Boolean 类型,然后再进行逻辑关系运算 。&&运算如果返回true,则取后面的值,如果 || 返回true,则取前面的值。var num = 44 && 55;var num2 = 44 || 55;console.log(num); // 55console.log(num2); // 44转换成boolean 的规则原创 2017-07-31 21:58:22 · 19937 阅读 · 0 评论 -
原型链与构造函数
首先:声明的函数,是有prototype属性的。但是对象是没有prototype的。一、函数console.dir(Foo)可以看到,有prototype属性和__proto__属性。Foo.prototype里的constructor指向Foo自己 , __proto__指向Object.prototype。而Foo.__proto__指向Function.prototype二、Objec原创 2017-07-15 17:47:03 · 572 阅读 · 0 评论 -
闭包(closure)
这原创 2017-06-10 11:34:58 · 1718 阅读 · 0 评论 -
JSON数据
一、json值的类型简单值: 可以表示字符串,数值,布尔值,null不支持undefined(json的数值表示: 2 )对象: 一组有序的键值对,每个键值对的值可以是简单值,也可以是复杂数据类型。(json的字符串:“hello world”)。json字符串与javascript字符串的区别,json必须用双引号。数组:一组有序值的列表,数组的值可以是简单值,也可以是复杂数据类型。不支持原创 2016-08-22 20:07:59 · 542 阅读 · 0 评论 -
js中this(一)
this是Javascript语言的一个关键字。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如, function test(){ this.x = 1; }随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。下面分四种情况,详细讨论this的用法。情况一:纯粹的函数调用这是函转载 2016-08-04 11:02:46 · 337 阅读 · 0 评论 -
js变量,声明提升的坑
1、函数声明可以提升,所以foo()可以在上面执行。但是函数表达式不行 foo() // 3 function foo() { console.log(3) } fooNext() // Uncaught TypeError: fooNext is not a function var fooNext原创 2017-05-04 12:50:14 · 596 阅读 · 0 评论 -
JavaScript事件
发顺丰原创 2017-04-20 11:07:26 · 573 阅读 · 0 评论 -
字符串操作
字符串操作原创 2017-01-17 17:04:03 · 375 阅读 · 0 评论 -
对象创建,对象方法
关于对象原创 2016-06-28 21:35:03 · 399 阅读 · 0 评论 -
窗口宽高和坐标
window尺寸2种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)方法1window.innerHeight - 浏览器窗口的内部高度window.innerWidth - 浏览器窗口的内部宽度方法2document.documentElement.clientHeightdocument.documentElement.clientWidth方原创 2016-08-09 21:56:33 · 629 阅读 · 0 评论 -
regExp正则表达式(一)
一、正则表达式作用测试字符串内的模式。 可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式或邮箱。即数据验证。替换文本。 可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。从字符串中提取子字符串。 可以查找文档内或输入域内特定的文本。二、一些术语元字符: 即特殊字符,就是一些有特殊含义的字符。 例子:^匹配输入字符串的开始位置。要匹原创 2016-11-29 09:33:30 · 683 阅读 · 0 评论 -
变量、作用域
方式原创 2016-08-23 16:10:51 · 812 阅读 · 0 评论 -
JavaScript原理(三)
一、异步及术语并行: 指同一时刻内多任务同时进行;并发: 指在同一时间段内,多任务同时进行着,但是某一时刻,只有某一任务执行;堆: 内存中某一未被阻止的区域,通常存储对象(引用类型);栈: 后进先出的顺序存储数据结构,通常存储函数参数和基本类型值变量(按值访问);队列: 先进先出顺序存储数据结构。消息队列: 也叫任务队列(task queue):存储待处理消息及对应的回调函数或事...原创 2019-04-08 21:26:52 · 528 阅读 · 0 评论