1.Function()属性和方法

属性:

prototype

2.Function对象实例属性和方法

实例属性:(例如var Function=function(x,y,z){}; myFunction.length;)

  • arguments
  • constructor
  • length

实例方法(例如var myFunction=function(x,y,z){}; myFunction.toString();)

  • apply()
  • call()
  • toString()

3.函数总有返回值

例如:

 var sayHi=function(){
return "hi";
}; console.log(sayHi());//返回值为hi

如果没有指定返回值,则会返回undefined。下面调用yelp函数,将字符串yelp返回控制台,且不会显式返回值。

 var yelp=function(){
console.log("yeklp");
}
console.log(yelp()===undefined);//true

虽然没有显示的return返回值,但还是有返回值存在的,如果不指定要返回的值,则返回是undefined

4.函数为什么被称为是“一等公民”

  • 函数是对象,可以存储在一个变量、数组或对象中
  • 函数可以传递给函数,并由函数返回。函数拥有属性,因为他是一个对象

5.arguments对象的length属性:调用时发送给函数的参数数量,例如:

 var myFunction=function(z,s,d){
return arguments.length;
};
console.log(myFunction());//0

Function()实例的length属性:函数所需要的参数总数量,例如:

 var myFunction=function(z,s,d){
return myFunction.length;
}
console.log(myFunction());//

6.定义函数的四种方式:

//函数的构造函数:

var addConstructor=new Function('x','y','return x+y');

//函数声明

function foo(x,y){

return x+y;

}

//函数表达式

var foo=function(x,y){

return x+y;

}

//函数声明表达式

var foo=function add(x,y){

return x+y;

};

7.调用函数的方式:

//函数模式

 var foo=function(){
return "foo";
}
console.log(foo());

//方法模式

 var myObject={
myFunction:function(){
return "bar";
}
}
console.log(myObject.myFunction());

//构造函数模式

 var Cody=function(){
this.living=true;
this.foo=function(){
return this.living;
};
}
var cody=new Cody();
console.log(cody);

//apply和call模式

 var great={
runGreet:function(){
console.log(this.name,arguments[0],arguments[1]);
}
} var cody={name:'cody'};
var lisa={name:'lisa'}; greet.runGreet.call(cody,'foo','bar');// cody foo bar
greet.runGreet.apply(lisa,['foo','bar']);//lisa foo bar

8.自定义的匿名函数语句

 (function(msg){
console.log(msg);
})("Hi"); (function(msg){
console.log(msg);
}("Hi")); !function(msg){
console.log(msg);
}("Hi"); //以下代码不行
function sayHi(){
console.log("hi");
}();

js中的函数易忽略的点小节的更多相关文章

  1. JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype

    一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); // ...

  2. js中的函数,Date对象,Math对象和数组对象

    函数就是完成某个功能的一组语句,js中的函数由关键字 function + 函数名 + 一组参数定义;函数在定义后可以被重复调用,通常将常用的功能写成一个函数,利用函数可以使代码的组织结构更多清晰. ...

  3. js中getByClass()函数

    js中getByClass()函数进化史 对于js来说,我想每一个刚接触它的人都应该会抱怨:为什么没有一个通过class来获取元素的方法.尽管现在高版本的浏览器已经支持getElementsByCla ...

  4. JS中的函数、Bom、DOM及JS事件

    本期博主给大家带来JS的函数.Bom.DOM操作,以及JS各种常用的数据类型的相关知识,同时,这也是JavaScript极其重要的部分,博主将详细介绍各种属性的用法和方法. 一.JS中的函数 [函数的 ...

  5. node.js 中回调函数callback(转载),说的很清楚,看一遍就理解了

    最近在看 express,满眼看去,到处是以函数作为参数的回调函数的使用.如果这个概念理解不了,nodejs.express 的代码就会看得一塌糊涂.比如: 复制代码 代码如下: app.use(fu ...

  6. JS中的函数、BOM和DOM操作

     一.JS中的函数 [关于注释] /** [文档注释]:开头两个*.写在函数上方,在调用函数时可以看到文档上方的描述信息. */   // 单行注释 /* 多行注释 */ 1.函数的声明及调用 (1) ...

  7. html css <input> javaScript .数据类型 JS中的函数编写方式 BOM总结 DOM总结

    Day27  html css div 块标签. 特点: 独占一行,有高度和宽度 span 行元素. 特点:在同一行显示,当前行满了自动去下一行显示. 不识别高度和宽度 1.1.1.1 2.输入域标签 ...

  8. 前端之js中的函数

    函数 函数就是重复执行的代码片.   函数定义与执行 <script type="text/javascript">     // 函数定义     function ...

  9. JS中的函数节流throttle详解和优化

    JS中的函数节流throttle详解和优化在前端开发中,有时会为页面绑定resize事件,或者为一个页面元素绑定拖拽事件(mousemove),这种事件有一个特点,在一个正常的操作中,有可能在一个短的 ...

随机推荐

  1. 项目中对模板和js,css文件进行压缩的处理类

    我们知道,在html的页面中,所有空格和换行符其实都会占据一定的空间,即使使用了gzip压缩,在传输过程中依然会浪费用户的流量和我们自己服务器的带宽,此脚本就是为了解决这个问题而诞生的. 请自行下载G ...

  2. action extension添加图标

    最近在做ios的action extension,这里记录一下添加图标的方法. 在Action Extension的target里面的Build Settings,里面的Asset Catalog C ...

  3. Android开发--多线程之Handler

    前言 Android的消息传递机制是另外一种形式的“事件处理”,这种机制主要是为了解决Android应用中多线程的问题,在Android中不 允许Activity新启动的线程访问该Activity里的 ...

  4. POJ 3070 矩阵mob

    . 矩阵高速幂想法与快速幂相同 #include<iostream> #include<cstdio> #include<cstring> #define MOD ...

  5. Web container==Servlet container

    Web container From Wikipedia, the free encyclopedia   (Redirected from Servlet container)     Web co ...

  6. POJ 1679 The Unique MST:次小生成树【倍增】

    题目链接:http://poj.org/problem?id=1679 题意: 给你一个图,问你这个图的最小生成树是否唯一. 题解: 求这个图的最小生成树和次小生成树.如果相等,则说明不唯一. 次小生 ...

  7. Codeforces 897C Nephren gives a riddle:模拟【珂学】

    题目链接:http://codeforces.com/contest/897/problem/C 题意: 给你一些字符串: A: [What are you doing at the end of t ...

  8. spring学习(4)

    在spring容器内拼凑bean叫做装配.装配bean的时候,需要告诉容器哪些bean以及容器如何使用依赖注入将它们配合在一起. 上下文定义文件的根元素是<beans>,<beans ...

  9. JavaScript 的 async/await

    随着 Node 7 的发布,越来越多的人开始研究据说是异步编程终级解决方案的 async/await. 异步编程的最高境界,就是根本不用关心它是不是异步. async 函数就是隧道尽头的亮光,很多人认 ...

  10. Application.messagebox对话框样式

    if Application.MessageBox('删除不能恢复,确认删除吗?', '删除提示', MB_OKCANCEL + MB_ICONQUESTION)=mrOk thenbegin Sho ...