之前使用js中正则表达式的过程中,基本都是用的test方法,exec很少用,更别说test和exec混用的情况,今天碰巧遇到了这个情况,于是就发现了一个小‘bug‘。比如我们要匹配全文中长度为4的单词,我们通常会这么做:var str = ‘my last name is junhua‘ var reg = /\b\w{4}\b/gvar result,i = 1 while (i > 0) {result = reg.exec(str)if(!result) {break;}console.log(result) }打印的结果为last和name,这就是我们想要的结果,但...
https://www.cnblogs.com/lvmylife/p/10067824.html1.判断一个对象的值是否存在var obj = {}; if(obj.a == null) {// todo } 2. 判断函数入参是否存在function (a, b) {if(a == null) {// todo} }原文:https://www.cnblogs.com/ganiner/p/11518517.html
prototype作用:获取调用对象的对象原型引用应用:可以为某对象原型添加方法例:function getMax() {var max = this[0];for(var x=0; x<this.length; x++){if(this[x] > max)max = this[x];}return max; } Array.prototype.getMax = getMax;//以后数组使用获取最大值的方法就可以如下调用,例如arr是以个整数数组 arr.getMax();//OK 原文:http://www.cnblogs.com/fantasy01/p/4072581.html
<script type="text/javascript"> function cls() { //捕获触发事件的对象,并设置为以下语句的默认对象 with (event.srcElement) //如果当前值为默认值,则清空 if (value == defaultValue) value = "" } function res() { //捕获触发事件的对象,并设置为以下语句的默认对象 with (event.srcElement) ...
闭包这个东西,网上有很多介绍资料。个人看了很多,还是一知半解。这里不做理论介绍,直接给出2个例子。 代码1:记录函数被调用的次数function a() {var i = 0;function b(){return ++i;}return b; }var c = a(); c();//1 c();//2这种方式类似C语言中的private static变量,能够保持局部变量的内存不释放。 代码2:正确给DOM注册事件处理函数<body><input type="button" id="b1" value="1"><input type="button" id="b2" value="2"...
thiskeyword的使用 在JavaScript中使用thiskeyword表示调用方法的对象,这与大部分面向对象语言是一样的。可是因为call、apply、bind等函数的影响。我们能够改变this所代指的对象。使用call或者apply调用的函数中,this代指传入的第一个參数对象,假设传入null或者undefined。则表示全局对象(window)。通过对象调用函数(方法),函数中的this表示调用该函数的对象。单独调用的函数中this表示全局对象。varmyObject={sayHello:func...
词法作用域词法作用域意味着作用域是由书写代码时函数声明的位置来决定的。编译的词法分析阶段 基本能够知道全部标识符在哪里以及是如何声明的,从而能够预测在执行过程中如何对它 们进行查找。eval(..) 和 withJavaScript 中有两个机制可以“欺骗”词法作用域:eval(..) 和 with。前者可以对一段包 含一个或多个声明的“代码”字符串进行演算,并借此来修改已经存在的词法作用域(在 运行时)。后者本质上是通过将一个对象的引用当作...
1、var ss=s.split("fs"); for(var i=0;i<ss.length;i++){ 处理每一个ss[i]; }2、"2:3:4:5".split(":") //将返回["2", "3", "4", "5"] "|a|b|c".split("|") //将返回["", "a", "b", "c"]3、<script type="text/javascript"> var str = "一二三四"; var str1 = "篮球、排球、乒乓球"; var arr = str.split("");//全部分割 var arr1 = str1.split("、");//按照顿号分割 var arr2 = str1.split("、",2);//按照顿号分割,保留两段 </...
基础学的不扎实,关于高度宽度的各个属性总是糊里糊涂的,在这里理一下思路。 下面的测试以以下html结构为例<div id="div1" style="height:200px;width:200px;padding:20px;margin:10px;border:1px solid #000;overflow:scroll"><div id="div2" style="height:1000px;width:1000px;padding:20px;margin:10px;border:1px solid #000;"></div></div> heightheight属性有点特殊,只能获取写在内联样式中的高度值,并且返回的是一个字符...
在javascript中根据变量作用的范围不同分为局部变量和全局变量,直接定义的变量是全局变量,全局变量可以被所有的脚本访问;在函数中定义的变量是局部变量,局部变量只在函数内有效。如果全局变量和局部变量使用相同的变量名,则局部变量将会覆盖全局变量。例子代码:<!DOCTYPE html> <html><head><meta charset="utf-8"><title>js中全局变量与局部变量</title></head><body><script type="text/javascript">var a = "全局变量";fu...
JAVAScript 有三部分构成,ECMAScript,DOM和BOM,根据浏览器的不同,具体的表现形式也不尽相同。我们今天来谈一谈DOM和BOM这俩者之间的差异。用百科上的来说:1. DOM是 W3C 的标准; [所有浏览器公共遵守的标准]2. BOM 是 各个浏览器厂商根据 DOM在各自浏览器上的实现;[表现为不同浏览器定义有差别,实现方式不同]3. window 是 BOM 对象,而非 js 对象;DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。BOM 主要处理浏览...
定义和用法parseInt() 函数可解析一个字符串,并返回一个整数。语法?1parseInt(string, radix)parseInt(string, radix) 当参数radix的值为 0,或没有设置该参数时,parseInt()会根据 string来判断数字的基数。返回值返回解析后的数字。提示和注释注释:只有字符串中的第一个数字会被返回。注释:开头和结尾的空格是允许的。提示:如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。实例在本例中,我们将使用...
JavaScript中BuildPath函数就是在已存在路径后追加名称。BuildPath()的使用方法为: object.BuildPath(path, name) object是必选项。 应为 FileSystemObject 的名称。 path是必选项。 将被追加 name 的并存在的路径。 路径可以是绝对的或相对的,同时不需要指定已有文件夹。 name是必选项。 被追加到已存在的 path 后的名称。http://www.mlybyby.com 如果需要,BuildPath 方法会在已有路径和名称之间另外再插入一个...
一,原生态的XMLHttpRequest 代码如下 复制代码 <script language="javascript"> function saveintroduce() { //获取接受返回信息层 var introducemsg = document.getElementById("introducemsg"); //获取表单对象和用户信息值 var f = document.introduceedt; var elm1 = encodeURIComponent(f.elm1.value); //接收表单的URL地址 var url = "save.php?id=<?=$_GET["id"]?>"; //需要...
1// 函数功能:1秒以后创建一个10以内的随机整数,并判断这个数是否为偶数;如果是偶数则做一件事情,如果是奇数则做另一件事情 2function doSomthing() {3var promise = new Promise(function (resolve, reject) {4 setTimeout(function () {5 const num = Math.round(Math.random() * 10);6if (num % 2 === 0) {7 resolve(num);8 } else {9 ...