加号+运算符在 JavaScript 中,加法的规则其实很简单,只有两种情况:把数字和数字相加把字符串和字符串相加所有其他类型的值都会被自动转换成这两种类型的值。 为了能够弄明白这种隐式转换是如何进行的,我们首先需要搞懂一些基础知识。让我们快速的复习一下。 在 JavaScript 中,一共有两种类型的值:原始值(primitives)undefinednullbooleannumberstring对象值(objects):除了原始值外,其他的所有值都是对象类型的值,包括数组(a...
1、方法定义call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象。 说明: call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。 apply方法: 语法:apply([thisObj[,argArray]]) 定义:应用某一对象的一个方法,用另...
1. 获取滚动距离 document.documentElement.scrollTop () document.body.scrollTop() ==> 兼容IE 2. 获取非行间样式 getcomputedStyle() 参数1:当前对象 参数2:伪类选择器,通常不会使用,用false代替 currentStyle() 【语法】:对象.current[attr]3. 事件中兼容性问题 var e = e || event;4. 找到事件源 e.target || e.sr...
1. eacape(): 该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。其它情况下escape,encodeURI,encodeURIComponent编码结果相同。 escape对0-255以外的unicode值进行编码时输出%u****格式 可以使用 unescape() 对 escape() 编码的字符串进行解码。 ECMAScript v3 反对使用该方法,应用使用 decodeURI() 和 decodeURIComponent() 替代它...
[什么是钩子机制?使用钩子机制有什么好处?钩子机制也叫hook机制,或者你可以把它理解成一种匹配机制,就是我们在代码中设置一些钩子,然后程序执行时自动去匹配这些钩子;这样做的好处就是提高了程序的执行效率,减少了if else 的使用同事优化代码结构。由于js是单线程的编程语言,所以程序的运行效率在前端开发是比较重要的,在开发中我们秉承如果能用switch case 的地方就不要用if else 可以用hook实现的尽量使用hook机制去实现...
appendChild 学过的都知道,appendChild() 方法可向节点的子节点列表的末尾添加新的子节点。 如果对它理解不深,经常会犯一些错误。我以前就是哈哈。 下面我们来分析一下。 var myDiv = document.createElement_x("div"); var text = document.createTextNode("sichaoyun"); myDiv.appendChild(text); alert(myDiv.childNodes[0].nodeValue); text 就会添加到div节点里面。 我们用的时候一定要注意,text一定要是节点。不能直接添加...
1,数组的定义: 数组是一个值的集合,每个值都有一个索引号,从0开始,每个索引都有一个相应的值,根据需要添加更多数值。key=value; 例如:我们使用数组存储5个值 2.创建数组的三种方法: a. var myarray=new Array() myarray[0]=123 myarray[1]="shima ?" myarray[2]=2345 ....... 注意:1.我们创建数组的同时,还可以为...
ECMAScript中将原型链作为实现继承的主要方法,其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。1、原型链先回忆一下构造函数和原型以及实例的关系:每个构造函数都有一个原型对象,原型对象中有一个指向构造函数的指针,而所有实例都有一个指向原型对象的内部指针。那么实现 原型链的具体操作是这样的:让构造函数的原型对象等于另一个类型的实例。此时,原型对象将包含一个指向另一个原型的指针,另一个原型...
<script type="text/javascript"> /** *正则表达式在js中的第一种使用方式: * RegExp 通过构造器去使用正则表达式 需要对反斜杠进行转义 不能将\\替换为/ * i模式 表示不区分大小写 * g模式 表示全局模式 进行全局匹配 * 非g模式 表示每次查找的时候 都重头开始查找 */ var reg = new RegExp("[abcd]","gi"); /** * 正则表达式在js中的第二种使用方式: var regex = /\w+/ig; * ...
什么是js的"执行环境",每当函数被调用的时候,就会产生一个新的执行环境,它是运行中的函数的意思,比方说运动员在奔跑的环境中,我们可以把运动员在奔跑的环境中,说成奔跑中的运动员,以此类推说成运行中的函数,行话叫”执行环境“。 下面我们就以一个例子进行分析执行环境对象,以下是执行环境对象的第一轮以上的这个参数和函数都已被声明和赋值,并且局部变量已被声明,这个就是第一轮,接下来就是要执行第二轮由于在执行...
一、Javascript中的正则表达式 在Javascript中,可以使用RegExp对象构造正则表达。我们需要新建一个实例化的RegExp()对象,可以传入两个参数:第一个参数是匹配的模式,第二个参数是一个可选项,可以传入三种参数。i表示不区分大小写,g表示全局匹配,即匹配所有的符合条件的字符串,m表示执行多次匹配。实例如下:var reg = new RegExp("Hello", "i"); //表示匹配字符串中的Hello字符串,并且不区分大小写。 二、使用exec...
what are the rules for how == converts types?关于"=="的比较规则:1. Comparing numbers and strings will always convert the strings to numbers. number类型与string类型比较,string会转换为number类型。如:2=="2" true2. null and undefined will always equal each other.null类型与undefined类型比较始终相等。如:var a = null,b; 则 a==b 为true。3. Comparing booleans to any other type will always cause the bo...
JS中的phototype是JS中比较难理解的一个部分 本文基于下面几个知识点: 1 原型法设计模式在.Net中可以使用clone()来实现原型法原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展。我们称B的原型为A。 2 javascript的方法可以分为三类:a 类方法b 对象方法c 原型方法例子:function People(name) {this.name=name;//对象方法this.Introduce=function(){alert("My name is "+this.name);} } //...
冒泡排序 var arr = [2,43,35463,232,2,645,4567,5];function bubbleSort(arr) {for (let i = 0 ; i < arr.length-1 ; i++) {for (let j = 0 ; j < arr.length - 1 - i ; j++) {if(arr[j] > arr[j+1]){var temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}}bubbleSort(arr);console.log(arr); 2、快速排序var arr = [2,43,35463,232,2,645,4567,5];function quickSort(arr) {//标杆const pivot = arr[0];//比标杆大的数组va...
var opts = $.extend([Boolean,] {}, src1, src2, src3, ...);//重载var option = { name : ‘rose‘, age : 21, bool : false, another : ‘value‘}function test(option){ var defaultOpt = { name : ‘jack‘, age : 19, bool : true }; var opts = $.extend({}, defaultOpt, option); // opts {name : ‘rose‘, age : 21, bool : ...