JavaScript
时光Timely
再小的努力乘以365也会不一样。
展开
-
闭包再次理解
如何理解闭包?以前对于闭包的理解比较深刻了,时隔一段时间我对于闭包的理解又有点含糊,之前在一次面试中一位技术大佬问过我这个问题,我挺感谢他的,让我对这个问题重新思考了一下。在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。例如,函数push()使用了变量 count,然而该变量并不是在函数push()中定义的。这种变量被称为自由变量。函数push()就是一个包含了自由变量的开放函数。而函数 makeCounter()中为 count的名字和为0的值结合在了一起。这种给值绑定.原创 2021-03-13 11:42:49 · 170 阅读 · 3 评论 -
Bug记录-----第二天(蝼蚁虽小......)
注意 : ==与===的区别。 注意: { } 千万别漏掉一个;原创 2018-11-29 18:32:21 · 338 阅读 · 0 评论 -
JavaScript中对this的理解
解析 : person.details.print()是details调用了print(),所以print()中的this 指向details,即: 2, person.print(),this 是指向person 的,即:3 . var name1 = person.print; name1()-------------------this指向全局的windows对象4...原创 2018-11-30 15:32:50 · 421 阅读 · 0 评论 -
解惑(2)javascript 判断用户输入文本框是否为空
举个之前写的例子<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>注册</title> <meta name="viewport" content=&原创 2018-11-28 14:22:26 · 1656 阅读 · 0 评论 -
事件冒泡或事件捕获?
事件传递有两种方式:冒泡(里层-false)与捕获(外层-true)。事件传递定义了元素事件触发的顺序。 如果你将 <p> 元素插入到 <div> 元素中,用户点击 <p> 元素, 哪个元素的 "click" 事件先被触发呢?在 冒泡 中,内部元素的事件会先被触发,然后再触发外部元素,即: <p> 元素的点击事件先触发,然后会触发 <...原创 2018-12-01 10:20:49 · 307 阅读 · 0 评论 -
JavaScript switch 语句
<head><meta charset="utf-8"><title></title></head><body><p>点击下面的按钮来显示今天是周几:</p><button onclick="myFunction()"原创 2018-11-28 18:04:23 · 625 阅读 · 0 评论 -
JavaScript弹框
注意:弹窗 使用反斜杠来换行警告框---------比如alert()方法 消息提示框---- 确认框---------验证是否接受用户操作confirm()方法原创 2018-12-01 18:25:52 · 566 阅读 · 0 评论 -
全局变量和局部变量深入理解
注意!!!: 1.使用var声明变量,在方法内部是局部变量,在方法外部是全局变量。 2.没有使用var声明的变量,在方法内部或外部都是全局变量(在function外部,var关键字一般可以省略)。以下案例进行区分理解: ...原创 2018-12-07 19:31:30 · 922 阅读 · 0 评论 -
我与闭包的爱恨情仇
关于闭包的概念性解释,我查了一下感到高深有点望而却步,但是它真的很重要,卡过我的喉咙,我必须要弄懂它。总的来说闭包的解释比较拗口而且很难理解,那我们就换个角度从它要解决的问题出发去探究。关于闭包的概念性解释,我摘抄了一部分,弄明白解决的问题了再去读一读也是好的。 闭包是基于正常的垃圾回收处理机制下的。也就是说,一般情况一个函数(函数作用域)执行完毕,里面声明的变量会全部释放,被垃圾回收器...原创 2018-12-07 21:48:55 · 834 阅读 · 0 评论 -
利用正则表达式去掉字符串的前后空格
function Sgzfv(str) { return str.replace(/(^\s*)|(\s*$)/g, ""); } 注意:/ / 表示正则表达式的形式;g 表示进行全局匹配;^ 表示开始,$表示结尾;\s 匹配空格;* 表示头部或尾部不止一个空...原创 2018-12-14 23:14:56 · 4562 阅读 · 2 评论 -
JavaScript 变量提升
在javascript中变量或函数的声明都会被提升到函数的最顶部,也就是说javascript中的变量可以先使用,再进行声明。以下两个案例输出效果是一样的。 变量提升(hoisting):函数声明和变量声明总是会被解释器悄悄地提升到方法体的最顶端。注意只有声明的会被提升,而初始化的不会被提升。案例如下: y 输出了 undefined,这是因为变量声明...原创 2018-11-29 17:09:33 · 221 阅读 · 0 评论 -
笔记2--------JavaScript数据类型上
在 JavaScript 中,类似 "Bill Gates" 这样一条文本被称为字符串。 JavaScript 变量有很多种类型,但是现在,我们只关注数字和字符串。 当您向变量分配文本值时,应该用双引号或单引号包围这个值。 当您向变量赋的值是数值时,不要使用引号。如果您用引号包围数值,该值会被作为文本来处理。 注意:代码虽然是按顺序解析执行的,但出现错误...原创 2018-11-25 11:33:44 · 235 阅读 · 0 评论 -
笔记3------JavaScript数据类型下
JavaScript数据类型有两种: 值类型-------------数值型(Number)、字符串(String)、布尔型(Boolean)、Udefined(未定义) 、Null(空)、Symbol(ES6中引入的新原始数据的一种,表示独一无二的)、 引用数据类型------Array(数组)、Function(函数)、Object(对象)、 JavaScript字符串:字符串...原创 2018-11-25 18:45:54 · 247 阅读 · 0 评论 -
JavaScript函数实现单击id为test的列表中的li时,获取其内容
实现功能点击第一li时,弹出“第一行”<body onload="getItem()"> <ul id="test"> <li>第一行</li> <li>第二行</li> <li>第三行</li> </ul&原创 2018-09-16 15:11:16 · 424 阅读 · 0 评论 -
实现鼠标单击页面的任意标签,alert该标签的名字
<script> document.onclick = function(e){ var e=(e||event);//处理兼容,获取事件的对象 var o=e["target"]||e["srcElement"];//处理兼容,获取事件目标 alert(o.tagName.toLowerCase()); }</script> ...原创 2018-09-16 17:26:49 · 543 阅读 · 0 评论 -
innerHTML和outerHTML区别
1.innerHTML<body> <p>你好</p> <div id="test"><h5>就是喜欢你</h5></div> <script type="text/javascript"> var hj=document原创 2018-09-16 17:45:04 · 19715 阅读 · 3 评论 -
在JavaScript中NaN为什么不等于NaN
NaN ,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。任何与NaN进行运算的结果均会为NaN,NaN与自身不相等(NaN不与任何值相等)。NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字NaN=NaN;NaNNaN==NaN;falseNaN===NaN;false...原创 2018-09-19 11:21:08 · 12525 阅读 · 0 评论 -
parseInt("X8X8")+parseFloat("8");
parseInt("X8X8");NaNparseInt("X8X8")+parseFloat("8");NaNvar sg=parseInt("X8X8")+parseFloat("8");console.log(sg);parseFloat("8");8NaN+8;NaN原创 2018-09-19 11:44:39 · 94581 阅读 · 0 评论 -
产生5个不同的1-10之间的随机数
定义和用法splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。1.输出5个、不同的随机数 var str='';var arr=[];for(i=0;i<5;i++){ str = Math.round( Math.random()*10 ); for(...原创 2018-09-19 20:24:35 · 6811 阅读 · 1 评论 -
函数实现字符串反转
注意:charAt() 方法可返回指定位置的字符。function reStr(str){var tmp="";for(var s=str.length-1;s>=0;s--){tmp+=str.charAt(s);}return tmp;}var str=".UOY EVOL I,DFL";console.log(reStr(str));VM18854:9 LF...原创 2018-09-14 18:51:52 · 1062 阅读 · 0 评论 -
JavaScript数据返回类型
JavaScript数据返回类型 类型 字面量 typeof() 字符串 'shuhhhg' string 数字 123 number 布尔 true、false boolean 空值 null object 未定义 undefined undefined...原创 2018-09-14 19:48:38 · 500 阅读 · 0 评论 -
Bug记录--第一天(蝼蚁虽小......)
document not docunment ; var xx=document.getElementById("demo1); //别看不起一对引号" " . 三目运算符的格式 -------表达式1?表达式2:表达式3; //注意 : 是英文状态下的 JavaScript小案例----点击灯泡发光<!DOCTYPE html><html> &...原创 2018-11-23 16:38:56 · 550 阅读 · 0 评论 -
笔记1-------JavaScript输出
JavaScript没有任何打印或输出的函数;JavaScript通过以下方式输出显示:方法一:使用window.alert()弹出警告框;方法二:使用document.write()方法将内容写入到HTML文档中;方法三:使用innerHTML写入到HTML元素;方法四:使用console.log()写入到浏览器的控制台;案例如下: 运行结果 :...原创 2018-11-23 20:46:34 · 272 阅读 · 0 评论 -
在文章加载后使用document点write会覆盖该文档(不知道为什么我输入英文点号会报错,就用中文替代了-请谅解)以及JavaScript的document点write() 怎么使用?
在文档加载之后使用 document.write(),这样会覆盖该文档 意思就是在文档加载过后,如果我们用比方说按钮的方式重新加载文档,就会把文档都覆盖;<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title&g原创 2018-11-22 16:55:45 · 483 阅读 · 0 评论 -
Uncaught TypeError: document.getElementsById is not a function
document.write和innerHTML的区别1.innerHTML<p>标题:写在时光里的旧故事</p><div id="sg">你好,时光</div> <script> window.onload = function(){ var ff=document.getElementById("sg&quo原创 2018-09-16 11:45:03 · 24598 阅读 · 0 评论