function函数

对js中Function的浅见

北城余情 提交于 2020-01-15 08:56:05
它到底是什么 String Array 都是系统内置对象(已经定义好,可以直接使用)当然,这货也是一样, 我们之前定义的函数,其实就是一个这货的实例。 在 JS 中,所有的对象都是由函数实现的,函数的数据类型是 object 。 So ,我们以前定义的函数也是一个对象。 几种写法 1 function fn1(a,b){ 2 return a+b; 3 } 4 5 //前面表示参数,后面表示函数语句 6 var fn2 = new Function("a","b","return a+b"); 7 8 // 匿名函数 9 var fn3=function(a,b){ 10 return a+b; 11 } 12 13 14 console.log(fn1(1,2)); 15 console.log(fn2(1,2)); 16 console.log(fn3(1,2)); // 注意,一定要在声明函数的后面调用 另外,如果函数没有明确的返回值,或者调用了没有参数的return, 那么它真正 返回的值是 undefined 1 function fn(){ 2 //..... 3 } 4 5 6 function fn1(){ 7 return; 8 } 9 10 11 console.log(fn()===undefined); // true 12 console.log(fn1(

JS中 !/+/-/~function(){}()是什么意思?

做~自己de王妃 提交于 2020-01-13 13:26:30
自动执行匿名函数: 常见格式: function(){/ code /}(); 解释:包围函数(function(){})的第一对括号向脚本返回未命名(匿名)的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数 作用:创建一个命名空间只要把自己所有的代码都写在这个特殊的函数包装内,那么外部就不能访问,除非你允许(变量前加上window,这样该函数或变量就成为全局)。各JavaScript库的代码也基本是这种组织形式。 总结一下,这个函数的主要目的是 匿名 和 自动执行 。代码在被解释时就已经执行了。 其他格式: 1. function(){…}(); 2. !function(){…}(); 3. -function(){…}(); 4. ~function(){…}(); 5. +function(){…}(); 来源: CSDN 作者: 唯尘 链接: https://blog.csdn.net/qq_42839596/article/details/103955954

var a = {} 与 var a = function(){} 的区别

流过昼夜 提交于 2020-01-06 14:52:14
var a = {} 此时a是一个对象,是一个没有任何属性的对象。 var a = {'name':'object'} 此时a是一个对象,是一个有一个属性的对象,属性名为name,属性的值为object。 alert(a.name) 或者alert(a[name])的结果都是object,这是对象访问属性的两种方式。 var a = function(){} 此时a指向一个函数,相当于有一个函数,名为a,可以这么调用这个函数: a() 只不过这个函数什么都没有做。 var a = function(){ alert(1); } 此时a是一个函数,调用a()执行的是函数体,也就是 alert(1) 来源: https://www.cnblogs.com/zmwy/p/12151022.html

JavaScript的Function 类型

只谈情不闲聊 提交于 2020-01-05 05:11:26
一,Function定义   Function实际上是对象,与其他引用类型一样具有属性和方法。Function可以通过三种方法进行定义,分别是函数声明语法定义,函数表达式定义和Function构造函数定义。   1.函数声明语法定义 function functionName(value1...){ //函数体 }   2.函数表达式定义 var functionName = function(value1...){ //函数体 }   3.Function构造函数定义   通过Function构造函数创建函数,可向构造函数中传入任意数量的参数,但值得注意的是传入的最后一个参数会作为 函数体 ,而其他参数则作为参数传入函数中。用该方法去定义函数是不推荐使用的,因为该语法会导致解析两次代码,第一次解析常规ECMAScript代码,第二次解析传入构造函数的字符串,影响性能。 var functionName = new Function("value",...,"函数体");    注: 函数是引入值类型,所以函数名仅仅是指向函数的指针,当使用函数名去赋值给另一个变量名时,仅仅复制的是一个指针。即在下列a设置为null时,仅将a存的指针消除而已,不会影响b调用函数。 var a = b = function(value1){ return value1; } a = null; b(1

js Function 函数

狂风中的少年 提交于 2020-01-03 00:59:58
函数 var abs = function (x) { if (x >= 0) { return x; } else { return -x; } }; 函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。 在这种方式下,function (x) { ... }是一个匿名函数,它没有函数名。但是,这个匿名函数赋值给了变量abs,所以,通过变量abs就可以调用该函数 如果没有return语句,函数执行完毕后也会返回结果,只是结果为undefined。 要避免收到undefined,可以对参数进行检查: function abs(x) { if (typeof x !== 'number') { throw 'Not a number'; } if (x >= 0) { return x; } else { return -x; } } arguments 它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数。arguments类似Array但它不是一个Array: function foo(x) { alert(x); // 10 for (var i=0; i<arguments.length; i++) { alert(arguments[i]); // 10, 20, 30 } }

function函数

谁说胖子不能爱 提交于 2020-01-02 20:52:02
1.函数的定义 定义函数使用关键字 function 1、关键字定义方式: function 函数名(参数1,参数2...){ 功能//函数体 } function showInfo(name,age,hobby){ alert('大家好,我叫' + name + ',今年' + age + '岁,我喜欢'+hobby); } 2、字面量定义方式: var 函数名 = function(参数1,参数2...){ //函数体 } var showInfo = function(name,age,hobby){ alert('大家好,我叫' + name + ',今年' + age + '岁,我喜欢'+hobby); } 说明:函数名就是一个变量 3、Function构造函数(很少用) var 函数名 = new Function(参数,函数体); var showAge = new Function('age','alert(age)'); 函数有什么用?(理解) 将重复的代码放到一个函数中 ,可以做到: 1、减少代码的编写(代码重用) 2、便于修改和控制(维护) 3、需要的时候再使用 函数的特点 1、函数自己无法运行,调用时才会执行函数体内的代码块 2、可以多次使用 参数(重) 1、什么是参数? 在定义函数的时候,在()里面可以定义一些变量,用于接收调用的时候传过来的数据 函数的(

function函数

半城伤御伤魂 提交于 2020-01-02 20:51:16
函数定义 函数是由这样的方式进行声明的:关键字 function、函数名、一组参数,以及置于括号中的待执行代码。 函数的构造语法有这三种: Js代码 1.function functionName(arg0, arg1, ... argN) { statements }//function语句 2.var function_name = new Function(arg1, arg2, ..., argN, function_body);//Function()构造函数 3.var func = function(arg0, arg1, ... argN) { statements };//函数直接量 Function()构造函数 函数实际上是功能完整的对象 。Function类可以表示开发者定义的任何函数。用Function类直接创建函数的语法如下: Js代码 var function_name = new function(arg1, arg2, ..., argN, function_body) 在上面的形式中,每个 arg 都是一个参数,最后一个参数是函数主体(要执行的代码)。这些参数必须是字符串。 Js代码 1.var sayHi = new Function("sName", "sMessage", "alert('Hello ' + sName + sMessage)

JavaScript高级 Function类型

六眼飞鱼酱① 提交于 2019-12-28 05:16:06
· Function类型 (属于引用类型) 1.JS中,有的函数均是对象, 这个一个非常有特点的地方。它既然是对象,那么它的构造函数是谁呢?就是Function。(例如:function Person(){} 在原型链中 函数Person()的原型是什么呢?答:Person.__proto__ == Funtion.prototype ) 2.会和其他引用类型一样具有属性和方法。 3.没有JS函数类型没有重载,只会后面的覆盖前面的 如图: 4.函数声明和函数表达式的区别(重要): //20 这是为什么呢?在初始化上下文时候会先把 function sum(num1,num2){。。。} 放到环境中,然后才会由上而下逐条的执行。 但是如图这样: 就是错误的。为什么呢? var sum = .......; //这是一个赋值语句,在生成上下文环境的时候只会声明变量 var sum; 5.函数也可以作为另一个函数的返回值 利用这一特性,我们可以写出非常具有松耦合特性的代码。 6.函数内部的隐藏对象 函数内部也有隐藏对象:arguments和this,caller arguments:是一个数组对象,保存了该函数的所有参数,这些参数放到一个叫arguments的数组对象中。 注意:arguments对象有一个callee的属性,它指向了拥有该arguments对象的函数。 this

原型对象 原型链

浪子不回头ぞ 提交于 2019-12-16 09:49:25
在看了网上很多相关的文章,很多都是懵逼看完,并不是说各位前辈们写得不好,而是说实在不容易在一两次阅读中理解透。我在阅读了一些文章后,自己整理总结和绘制了一些相关的图,个人认为会更容易接受和理解,所以分享在此。也因此以下的所有的理解和图解都是出于个人的理解,如果有错误的地方,请各位前辈务必见谅,并辛苦在下方提出和纠错,我实在担心自己不成熟的理论底子会误导了其余的小兄弟。 一开始,先说说为何这个知识点为什么理解起来这么乱 个人感觉原因有三: JS内函数即对象。 Function对象和Object对象这两个内置对象的特殊性。 很多讲解图的指向一眼下去花里胡哨,看着都头疼[手动狗头]。 再说说,为何网上各位前辈的相关文章都难以参透 很多前辈在讲解相关知识点的时候都是从 proto 开始讲起,但在我看来, proto 与prototype关系之密切是无法单独提出来讲的(单独讲就意味着难以理解);而prototype与constructor又有密切关系,这就造成 一种很尴尬的处境,要先讲 proto 就必然需要同时讲解prototype和constructor属性 ,这个也就是为何对于小白的我们而言这些概念是那么的难以理解。(以上个人看法,仅供参考) 然后在讲讲我个人采取的理解方式 为了更轻松、更有动力地理解透,我采用从 constructor到 proto 原型链一步步“拆解” 的方式去理解

javascript的function函数

谁说我不能喝 提交于 2019-12-10 00:06:04
javascript的function函数 一、函数基本概念   为完成某一功能的程序指令(语句)的集合,称为函数。 二、JavaScript函数的分类   1、自定义函数(我们自己编写的函数),如:function funName(){} function name([param,[, param,[…, param]]]) { [statements] } 2、系统函数(JavaScript自带的函数),如alert();函数。 三、函数的调用方式   1、普通调用:functionName(实际参数…) 2、通过指向函数的变量去调用: 函数可以被有条件来声明,这意味着,函数声明可能出现在一个 if 语句里,但是,这种声明方式在不同的浏览器里可能有不同的效果。因此,不应该在生成环境代码中使用这种声明方式,应该使用函数表达式来代替。       var a=函数名; a(实际参数…); 下面的代码声明了一个函数,该函数返回了销售的总金额, 参数是产品a,b,c分别的销售的数量. function money(a, b, c) { return a*79 + b * 129 +c * 699; } 四、函数返回值   1.当函数无明确返回值时,返回的值就是"undefined"。 2.当函数有返回值时,返回值是什么就返回什么。 函数声明定义一个具有指定参数的函数。 五