一、校验数字的表达式 1. 数字:^[0-9]*$ 2. n位的数字:^\d{n}$ 3. 至少n位的数字:^\d{n,}$ 4. m-n位的数字:^\d{m,n}$ 5. 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6. 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 7. 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$ 8. 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$ 9. 有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 10. 有1~3位小数的正实数:^[0-9]+(.[0-9...
运算符 1.算术运算符 + - * / % ++ --?// 规律:不同数据类型在进行运算的时候会尽量转为数字类型(内置帮我们进行转换,并且符合Number的规律)// 引用数据类型转为数字,先内置调用toString()方法,然后再去转为数字??// +// 1.+ 号两边都是数字 表示加法// 2.如果一边是字符串就会将另一边也转为字符串进行拼接// 3.两边都不是字符串,如果不是数字会尽量转为数字进行运算(符合Number的规律)// 4.一旦遇到引用数据类型,会先...
获取元素的方式 限定获取范围必须是具体的元素对象,操作元素也必须是具体的元素对象 通过id获取 基本语法context.getElementById("id值");context 在这里表示获取范围,通过id获取限定范围必须使用document获取到了就是具体的那个元素对象,获取不到是null 通过className获取 基本语法context.getElemntsByClassName("className值");context 在这里表示获取范围,通过className获取,限定范围可以是document,也可以自己去限定,co...
一. Node执行代码 1.1. JavaScript文件执行 如果我们编写一个js文件,里面存放JavaScript代码,如何来执行它呢? // 1.直接打印一段文字 console.log("我是一段JavaScript代码");// 2.定义一个函数, 调用这个函数 function sum(num1, num2) {return num1 + num2; }const result = sum(20, 30); console.log("计算结果:", result);// 3.执行定时器代码 setTimeout(() => {console.log("2s后执行的代码"); }, 2000);目前我们知道有两...
什么是闭包???? 闭包(Closure)与函数有着紧密的关系,以至于许多人将函数与闭包等同起来讨论,但结果却总是讨论不清楚。 事实上在JavaScript 中,一个函数只是一段静态的代码、脚本文本,因此它是一个代码书写时,以及编译期的、静态的概念; 而闭包则是函数的代码在运行过程中的一个动态环境,是一个运行期的、动态的概念。 由于引擎对每个函数建立其独立的上下文环境,因此当函数被再次执行或进入函数体内的代码时,就将会得...
一、什么是JavaScript JavaScript是一种具有面向对象能力的、解释性的脚本语言。它是基于对象和事件驱动,并具有相对安全性的客户端脚本语言。他不需要在一个特定的语言环境下运行,而只需要有支持他的浏览器即可,即浏览器可以直接解析js代码,他的主要目的是,验证发往服务器端的数据、增加web互动、增强用户体验度等 二、JavaScript与ECMAScript ECMAScript是JavaScript的标准,JavaScript是ECMAScript的实现 三、JavaScript的组...
undefined.toString(); // TypeError: Cannot read property toString of undefinednull.toString(); // TypeError: Cannot read property toString of nulltrue.toString(); // "true"111..toString(); // "111"[1,2,3].toString(); // "1,2,3"undefined/null 是一个原始值 不是对象 就没有原型 就调用不到Object.prototype(原型链最终原型)的 toString 方法。c,d,e会强制转化,调用其对应的Boolean.toString(),Number.toString()...
Array 构造函数只带一个数字参数的时候,该参数会被作为数组的预设长度,而非只充当数组中的一个元素。这实非明智之举;一是容易忘记,二是容易出错。更为关键的是,数组并没有预设长度这个概念。这样创建出来的只是一个空数组,只不过它的 length 属性被设置成了指定的值 我们将包含至少一个 ”空单元“ 的数组称为 ”稀疏数组“ 如果一个数组没有任何单元,但它的 length 属性中却显示有单元数量,这样奇特的数据结构会导致一...
所有 typeof 返回值为 'object' 的对象(如数组)都包含一个内部属性 数组,正则表达式,对象的内部属性[[Class]]和创建该对象的内建原生构造函数相对应 Null(),Undefined()这样的原生构造函数不存在,但是内部属性值仍然是 'Null' 'Undefined' 基本类型值被各自的封装对象自动包装,所以它们的内部属性值是 'String' 'Boolean' 'Number'
全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/13745195.html, 多谢,=。=~(如果对你有帮助的话请帮我点个赞啦)重新学习JavaScript是因为当年转前端有点儿赶鸭子上架的意味,我一直在反思我的知识点总是很零散,不能在脑海中形成一个完整的体系,所以这次想通过再次学习将知识点都串联起来,结合日常开发的项目,达到温故而知新的效果。与此同时,总结一下我认为很重要但又被我遗漏的知识点~构造函数不使用...
全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/13730736.html, 多谢,=。=~(如果对你有帮助的话请帮我点个赞啦)重新学习JavaScript是因为当年转前端有点儿赶鸭子上架的意味,我一直在反思我的知识点总是很零散,不能在脑海中形成一个完整的体系,所以这次想通过再次学习将知识点都串联起来,结合日常开发的项目,达到温故而知新的效果。与此同时,总结一下我认为很重要但又被我遗漏的知识点~概述 JSON格式...
JavaScript之闭包闭包——非常重要但又难以掌握的概念,理解闭包可以看作是某种意义上的重生——《你不知道的Js》 虽然关于闭包,虽然大家可能已经看腻了,但我仍要试着去总结下它!!!目录前言 一、什么是闭包? 二、分析闭包 三、经典问题 写在最后前言 大家在阅读这篇文章之前,不妨先阅读一下我的前面几篇文章作为前置知识:JavaScript中的作用域(系列三) JavaScript重的执行上下文(系列四) JavaScript之深入变量对象(系...
NaN 和 -0 在相等比较时的表现有些特别。ES6 中新加入了一个工具方法 Object.is(..) 来判断两个值是否绝对相等,可以用来处理特殊情况var a = 2/foo; var b = -3/0;Object.is(a, NaN); // true Object.is(b, -0); // true Object.is(b, 0); // false 对于 ES6 之前的版本,Object.is(..) 有一个简单的 polyfillif(!Object.is){Object.is = function(v1, v2) {// 判断是否是 -0if(v1 === 0 && v2 === 0) {return 1/v1 === 1/v2;}//...
同步、异步、回调?傻傻分不清楚。 大家注意了,教大家一道口诀: 同步优先、异步靠边、回调垫底(读起来不顺) 用公式表达就是: 同步 => 异步 => 回调 这口诀有什么用呢?用来对付面试的。 有一道经典的面试题: for (var i = 0; i < 5; i++) {setTimeout(function() {console.log('i: ',i);}, 1000); }console.log(i);//输出 5 i: 5 i: 5 i: 5 i: 5 i: 5 这道题目大家都遇到过了吧,那么为什么会输出这个呢?记住我们的口诀...
真正的大神能把知识讲得有条不紊!,站在巨人的肩膀上学习 学习地址https://github.com/mqyqingfeng/Blog 声明:图片及内容摘自上述链接,这里只是记录学习笔记,完整版请查阅上述链接。 1.从原型到原型链: 构造函数 function Person() {} var person = new Person(); person.name = 'Kevin'; console.log(person.name) // KevinPerson就是一个构造函数 每个函数都有一个 prototype 属性; 函数的prototype 属性指向了一个对象,这...