JS的函数和对象二】的更多相关文章

复习 递归,在函数内部调用自身  return 匿名函数  function(){   } 创建函数,函数表达式  var fn=function(){   } 自调用   (function(){  函数作用域;  })(); 回调函数 function add(a){  a()  } add(function(){ 多行代码; }); 全局函数 parseInt/parseFloat/isNaN/encodeURI/decodeURI isFinite/eval  '1==3' 对象 内置对…
1.递归 在函数的内部调用自身,默认是一个无限循环. 2.匿名函数 没有名称的函数  function(){   } (1)创建函数 函数声明 function fn1(){   } 函数表达式 var fn2=function(参数){  函数体;  } 变量名就是函数的名称 对比函数声明和函数表达式的区别 函数声明创建函数存在提升,可以在任意位置创建: 函数表达式使用变量创建的,只是存在变量提升,不存在函数提升,只能先创建,再调用. (2)匿名函数自调用 目的:创建函数作用域包裹起来,防止污…
函数就是对象的一种  instanceof  可以做判断 var fn = function(){}; fn instanceof Object //true Object构造函数的prototype属性所指向的对象是否存在要检测对象fn的原型链上 关于函数和对象的关系 var Foo = function(){ this.name = "liuxiankun"; this.year = "29"; } var f1 = new Foo(); 以上代码证明对象可以由…
复习 判断是否含有某个属性 对象.属性名 === undefined 对象.hasOwnProperty('属性名') '属性名' in 对象 方法  { say:function(){  this  } }  对象.say() 数组 数据的集合 创建数组 [ 1,2,3 ]   new Array() 访问数组元素 数组[下标] 数组的长度 数组.length 数组[数组.length]=值 遍历数组 数组分类 索引数组/关联数组 遍历数组 循环/for-in API toString/joi…
<script type="text/javascript"> function func1(fn){ if(typeof(fn)=="function"){ console.log("3----------function"); fn(); }else{ console.log(fn); console.log("4----------other"); } } function func2(){ console.…
复习 数组 toString/join/concat/slice/splice/reverse/sort/ push/pop/unshift/shift 字符串 new String(2)  /  String() 转义字符  \ length/charAt()/indexOf/lastIndexOf/toUpperCase toLowerCase/slice/substr/substring/split 匹配模式 search/match/replace Math对象 PI/abs/ceil/…
函数本质就是功能的集合 JS中函数是对象,因此,函数名实际上仅仅是一个指向函数对象的指针,不会与某个函数绑定,所以,JS中没有重载(重载就是通过传递不同类型的参数,使两个相同函数名的函数执行不同的功能) var fn=function(a){return a+100;} fn=function(a){return a+200;} alert(fn(100)); //300 要访问函数的引用(指针)而不是执行函数时,必须去掉圆括号,加上圆括号表示访问函数执行后的结果 函数体内部的语句在执行时,一旦…
函数本质就是功能的集合 JS中函数是对象,因此,函数名实际上仅仅是一个指向函数对象的指针,不会与某个函数绑定,所以,JS中没有重载(重载就是通过传递不同类型的参数,使两个相同函数名的函数执行不同的功能) var fn=function(a){return a+100;} fn=function(a){return a+200;} alert(fn(100)); //300 要访问函数的引用(指针)而不是执行函数时,必须去掉圆括号,加上圆括号表示访问函数执行后的结果 函数体内部的语句在执行时,一旦…
一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div,for循环绑定事件. 示例代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>闭包</title> <style type="…
一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div,for循环绑定事件. 示例代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>闭包</title> <style type="…
一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); //return sum; } 上面只是一个例子 ,那么当我们再定义一个同名的函数会怎么样呢? function add(a,b,c) { var sum = a+b+c; document.write("三个数的和是:" + sum); } 然后调用函数: add(50,30,10);   …
--- title: JS学习笔记-从条件判断语句到对象创建 date: 2016-04-28 21:31:13 tags: [javascript,front-end] ---JS学习笔记——整理自<JavaScript高级程序设计> 1)条件的判定 在if,swtich条件判断语句,do-while,while,for三种循环判断语句中会用到条件的判断,其目的是为了判定某种条件的达成与否来控制语句的执行. e.g. if(condition) do{} while(condition) f…
在本文章中,将对JS中的函数和对象进行一些讲解,不对之处还请之处 一.JS中的函数 1.1无参函数 其形式如下代码所示 function box(){ alert("我是一个函数,只有被调用才会执行"); } box(); 运行结果如图1.1 图1.1 1.2有参函数 有参函数其形式如下 function box(name,age){ alert("你的名字是"+name+",年龄为"+age); } box("李大宝",22…
https://www.cnblogs.com/haiyan123/p/7594046.html 在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,String.Math.Array.Date.RegExp都是JavaScript中重要的内置对象,在JavaScript程序大多数功能都是基于对象实现的 //利用数字对象获取可表示最大数 var a = Number.MAX_VALUE; console.log(a); //…
函数它只定义一次,但可能被多次的执行和调用.JavaScript函数是参数化的,函数的定义会包括形参和实参.形参相当于函数中定义的变量,实参是在运行函数调用时传入的参数. 一.函数定义 函数使用function关键字来定义.它可以用在函数定义表达式或者函数声明语句里. 1.函数声明语句 使用function关键字,后跟一组参数及函数体. funcname是要声明的函数名称标识符.函数名称是函数声明语句必需的部分. 圆括号其中可以包含由0个或者是多个用逗号隔开的标识符组成的列表,这些标识符是函数的…
继续JS之DOM对象二 前面在JS之DOM中我们知道了属性操作,下面我们来了解一下节点操作.很重要!! 一.节点操作 创建节点:var ele_a = document.createElement('a');添加节点:ele_parent.appendChild(ele_img);删除节点:ele_parent.removeChild(ele_p);替换节点:ele_parent.replaceChild(新标签,旧标签); 1 <!DOCTYPE html> 2 <html lang=…
自己的学习记录,写的短点可以以后短时间内理清一些疑惑,看前要求你至少了解js中关于原型链等基本概念,因为文章直接以总结的形式理出知识点,没有去解释一些基本的概念! 1.1.熟记两句话,预预热 1. 函数既是函数也是对象,对象通过new关键字从函数中得来,函数自己创造了自己 2. 对象中有一个未纳入规范的属性(指针)叫proto,函数中有一个属性(指针)叫prototype,proto姑且称它为隐式原型,prototype属性指向的叫原型对象 1.2.函数和对象初探 1.其他语言中类是基本单位,O…
一.自定义对象的构造: var student=new Object(); //object是顶级对象,使用构造函数的方法创建一个对象,此处的意思是创建了一个学生的空对象 student.name="李四"; student.age="24"; //此处属性与方法是无序的 student.sex="男"; //这三句是函数的属性(姓名,年龄,性别) student.sayHi=function(){ console.log("我叫&qu…
闭包 闭包概念:当一个内部函数被调用,就会形成闭包,闭包就是能够读取其他函数内部变量的函数,定义在一个函数内部的函,创建一个闭包环境,让返回的这个子程序抓住i,以便在后续执行时可以保持对这个i的引用. 内部函数比外部函数有更长的生命周期:函数可以访问它被创建时所处的上下文环境. 如: 页面中有10个div,循环绑定每个div的点击事件 var divs=document.getElementsByTagName("div"); for (var i=0;i<divs.length…
上文(深入理解jS原型和闭包(1)——一切都是对象)已经提到,函数就是对象的一种,因为通过instanceof函数可以判断. var fn = function () { }; console.log(fn instanceof Object); // true 对!函数是一种对象,但是函数却不像数组一样——你可以说数组是对象的一种,因为数组就像是对象的一个子集一样.但是函数与对象之间,却不仅仅是一种包含和被包含的关系,函数和对象之间的关系比较复杂,甚至有一点鸡生蛋蛋生鸡的逻辑,咱们这一节就缕一…
1,对象的存储细节, 1. 当创建一个对象的时候:Person *p1 = [Person new],做了三件事情: 1,申请堆内存空间: 2,给实例变量初始化: 3,返回所申请空间的首地址; 2. 实例变量保存在堆区 3. 对象方法保存在代码区 4. 一个类可以创建多个对象: 2,#pragma mark指令, 功能:对代码分组,方便代码查找和导航 使用格式: #pragma mark - #waring 等待处理的功能,或者是未完成的功能 3,函数和对象方法的区别, 一. 对象方法: -(v…
1.函数 1.1匿名函数 函数声明 function fn(){  } 函数表达式 var fun=function(){  } 函数名称和函数名称()的区别 fun/fn   fun()/fn() 函数名称是一个变量,对应的是函数的结构 函数名称()是函数的调用,会执行函数体,得到返回值 对比函数声明和函数表达式的区别 函数声明创建的函数存在提升,可以在所在作用域任意位置调用 函数表达式创建的函数只存在变量的提升,必须先创建再调用 1.2匿名函数自调用 目的: 创建函数作用域,防止污染全局 (…
函数也是对象,但是函数却不像数组--数组是对象的一种,它是对象的一个子集.函数和数组之间不是单纯的包含与被包含的关系,它们之间有点像鸡生蛋蛋生鸡的逻辑. 来例子:function Fn(){ this.name='小明': this.age=10; } var fn1=new Fn(); 这说明对象可以通过函数来创建,但是如果说对象都是通过函数来创建的肯定又会觉得不对,因为var obj={a:10,b:20},var arr=[5,'x',true].然而这仅仅是一种"快捷方式",在…
在JavaScript的函数对象创建方法中,可以分为三种情况: 1:第一种是使用function语句定义函数 <script type="text/javascript"> function fun1(){ alert("我的第一个方法"); } //这里边JavaScript带参数的时候不需要提前的定义和声明,而且在定义的时候也不需要带参数类型,直接写参数名称.在使用的时候直接传参就行了,传的是啥类型的参数,就是用啥类型的参数 function fun…
javascript中的函数是非常重要的概念,也是比较难于理解的一个知识点! 下面就来聊聊函数: JS基于对象:什么是基于对象呢?简单的说所有代码都是"对象"; 比如函数: function person(){ } person();//1 调用函数; 比如变量: var  x=5; x=6     // 2 重新为x赋值; 上面的函数和变量都是对象:所有的函数都是Function类的对象,x是Number类的对象.相当于 var x=new Number(5): 注意: functi…
JS中this关键字很常见,但是它似乎变幻莫测,让人抓狂.这篇文章就来揭示其中的奥秘. 借助阮一峰老师的话:它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.这句话看似平常,可是要非常注意三个字:“运行时”,这说明this关键字只与函数的执行环境有关,而与声明环境没有关系.也就是这个this到底代表的是什么对象要等到函数运行时才知道,有点类似函数定义时的参数列表只在函数调用时才传入真正的对象.理解了这一点对后面this关键字规律的掌握有很大帮助. this关键字虽然会根据环境变化,但…
js 时间函数 及相关运算大全 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear();    //获取完整的年份(4位,1970-????) myDate.getMonth();       //获取当前月份(0-11,0代表1月) myDate.getDate();        //获取当前日(1-31) myDate.getDay();         //获取当前星期X(0-…
js的函数节流和throttle和debounce详解:同样是实现了一个功能,可能有的效率高,有的效率低,这种现象在高耗能的执行过程中区分就比较明显.本章节一个比较常用的提高性能的方式,通常叫做"函数节流",下面就通过代码实例对此做一下介绍.一.函数节流是什么:在实际编码中,mousemove和resize是使用非常频繁的事件类型(当然还有其他类似事件类型),这样的事件有一个共同的特点,就是在一个普通的操作中,就有可能会在极短的时间内多次执行事件处理函数,会极大的损耗性能,比如resi…
在JS中函数在使用时实质上和我们平时学习的编程语言中的函数类似,它相同也具有函数名,參数,返回值,函数体等这些寻常函数所具有的内容.可是作为一种脚本语言,它确实也有自己不一样的地方. 一.创建 <span style="font-size:18px;">function box(){ //利用functionkeyword进行声明+函数名+(可加入參数)+{详细运行内容,可包含返回值} return 'hello!'; }</span> 在这里,我们须要知道的是…
一.函数重载问题: 由于js的函数传入的参数当做arguments对象(和数组类似,但不是Array的实例),传入的参数类型和数量没有限制,没有函数签名,所以如果要实现重载功能 的话,只能是不够完美得实现: function doAdd(num1,num2){ if(arguments.length==1){ console.log(num1+10); } else if (arguments.length==2){ console.log(num1+num2); } } 这里可以通过传入的参数…