函数简介:说明: 函数是定义一次但可以多次调用或执行任意多次的一段Js代码,函数有时会有参数,即函数被调用时指定了值的局部变量,函数常常使用这些参数来计算一个返回值.函数声明:说明: 函数可以封装任意多条语句,而且可以在任意地方,任意时候调用执行,函数声明用function关键字声明,后跟着一组参数以及函数体// 无需传参的函数 function calcResult(){ console.log(‘只有函数被调用,我才会被执行!‘) } // 调用函数 - 无需传参...
提到闭包总给人很高深的感觉,网上的例子也数不胜数。但是我发现相当一部分并不容易理解。根据我的观察,是因为这些例子把标题中提到的概念糅杂在了一起,往往越看越糊涂。所以我希望化整为零,拆成简单例子来解释。1.先看作用域:JavaScript作用域只有两种——全局作用域和函数内作用域,没有代码块作用域。示例:function loop(){for(var i=0;i<5;i++){//doSomething;}alert(i); }loop(); //执行函数结果为5。尽管变量i已经脱离了...
//cookiefunction setCookie(name, value, iDay) {if(iDay!==false){var oDate=new Date();oDate.setDate(oDate.getDate()+iDay);document.cookie=name+‘=‘+value+‘;expires=‘+oDate+‘;path=/‘;}else{document.cookie=name+‘=‘+value;} }function getCookie(name) {var arr=document.cookie.split(‘; ‘);var i=0;for(i=0;i<arr.length;i++){var arr2=arr[i].split(‘=‘);if(arr2[0]==name){return arr2[1];}}return ‘‘...
首先,JavaScript所有的函数都可以看成是Function对象的实例。一、创建函数的方法1.函数声明的方法function sayHi(){alert("hi,tuan"); } 2.函数表达式的方法var sayHi=function(){alert(“hi,tuan"); } 区别:JavaScript中的函数声明提升,会使得,浏览器先解析函数声明,而函数表达式的方法中只有在浏览器读到这一行,函数才能被创建。二、函数的参数 对于JavaScript来说,函数并不在意你传进来的是number,string,亦或是一...
1、我们首先要搞明白:函数表达式和函数声明的区别。函数表达式:既可以为匿名函数也可以有函数名,但是调用的时候都是通过函数左边的变量func来调用var func = function(){ alert(‘xxx‘);};var b = new func();函数声明:必须有函数名function func(){ alert(‘xxx‘);}func();所以立即执行调用的函数表达式有一下几种!function () { /* code */ } ();~function () { /* code */ } ();-function () { /* code */ } ();+functi...
今天发现了this的一个奇妙作用,那就是在call中和apply中指代的都是全局。见下代码: var money= "想要拥有一个亿"var obj1={money:"我拥有一个亿",foo:function() {console.log(this.money);}}var obj2={money:"同桌拥有一个亿"} obj1.foo(); //我拥有一个亿 obj1.foo.call(this) //你猜是什么?? 刮开图层查看答案 obj1.foo.call(obj2) //同桌拥有一个亿obj1.foo() 指向obj1下的foo,因此直接打印“我拥有一...
JavaScript 函数定义方法、函数声明在之前的教程中,你已经了解了函数声明的语法 :function functionName(parameters) {执行的代码 }函数声明后不会立即执行,会在我们需要的时候调用到。function myFunction(a, b) {return a * b; }分号是用来分隔可执行JavaScript语句。 由于函数声明不是一个可执行语句,所以不以分号结束。函数表达式JavaScript 函数可以通过一个表达式定义。函数表达式可以存储在变量中:var x = function (a,...
在脚本语言JavaScript中,函数的定义是由事件驱动或者当它被调用时可重复使用的代码块。在JavaScript的标准ECMAscript中,把函数表述为可以随时随地运行的语句。我个人是不认同ECMA的说法的,因为函数只有在发生调用的时候才会执行,否则就是一段毫无生气的代码。我们来具体认识认识函数。 (一)首先是函数的定义: 在ECMAscript函数的定义是 关键字function 函数名( 参数){主体;return(返回值)};这四部分组成的,但是在脚本语言...
题目: 1、得到 3000 到 3500 之内工资的人。 2、增加一个年龄的字段,并且计算其年龄。 3、打印出每个人的所在城市 4、计算所有人的工资的总和。测试数据: function getData() {var arr = [{id: 1,name: ‘ohzri‘,birth: ‘1999.09.09‘,city: ‘湖北‘,salary: 9379},{id: 2,name: ‘rqgfd‘,birth: ‘1999.10.28‘,city: ‘湖北‘,salary: 1060},{id: 3,name: ‘fwfsh‘,birth: ‘1999.09.17‘,city: ‘广西‘...
我们平时用构造函数一般都是这样function Person(name,age){this.name=name;this.age=age } var person1 = new Person(‘june‘,26)//{name:‘june‘,age:26}但是我们可能会看到下面这种带return的构造函数,而return又分两种情形:一种是返回基本数据类型(null,undefined,string,boolean,symbol,number),还有一种是返回引用类型(Object,Array,function,构造函数)1.返回基本数据类型的情况function Person(name,age){this.name=n...
对象能做的任何一件事,函数也都能做。函数也是对象,唯一的特殊之处在于它是可调用的(invokable),即函数会被调用以便执行某项动作。 回调函数:每当我们建立了一个将在随后调用的函数时,无论是在事件处理阶段通过浏览器还是通过其他代码,我们都是在建立一个回调(callback)。这个术语源自于这样一个事实,即在执行过程中,我们建立的函数会被其他函数在稍后的某个合适时间点“再回来调用”。原文:https://www.cnblogs.com/...
复习 数组 toString/join/concat/slice/splice/reverse/sort/ push/pop/unshift/shift 字符串 new String(2) / String() 转义字符 \ length/charAt()/indexOf/lastIndexOf/toUpperCasetoLowerCase/slice/substr/substring/split 匹配模式 search/match/replace Math对象 PI/abs/ceil/floor/round/max/min/pow/random 1.Date对象 用于对日期时间的存储和计算 (1)创建Date对象 new Date(‘2019/6/19 10:48:50‘) new Da...
构造函数可以与new一起使用,代表创建对象;也能够当做普通的函数调用,因为它也是一个函数。function Person(name) {this.name=name; }Person(12); alert(window.name);//12 可以看到当构造函数被当成普通函数调用的时候,this代表的是全局的window对象。很显然把构造函数当成普通函数调用,不是好的做法, 也没有什么道理要这么做。实际中应该杜绝这样奇怪的用法,以免产生奇怪的问题。 function Person(name,sex) {this.name=...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script type="text/javascript" charset="UTF-8">/*** 函数的3种创建方法*///1、语句式 function test(a,b){return a+b;}console.log(test(1,2));//2、直接量式var test1 = function(a,b){r...
创建实例funtion Fn (){ var num = 10; this.x = 100; this.getX = function(){ console.log(this.num); }}var f1 = new Fn;f1.getX();最后执行的结果是:undefined说明: 类有普通的里面,当函数执行的时候,var num只是当的形成的私有作用域中的私有变量而已,它和我们的f1这个实例没有任何的关系,只有this.xxx=xx才相当于给f1增加私有的属性和方法,才和我们的f1有关系;funtion Fn (){ var num = ...