js中的函数易忽略的点小节
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中的函数易忽略的点小节的更多相关文章
- JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype
一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); // ...
- js中的函数,Date对象,Math对象和数组对象
函数就是完成某个功能的一组语句,js中的函数由关键字 function + 函数名 + 一组参数定义;函数在定义后可以被重复调用,通常将常用的功能写成一个函数,利用函数可以使代码的组织结构更多清晰. ...
- js中getByClass()函数
js中getByClass()函数进化史 对于js来说,我想每一个刚接触它的人都应该会抱怨:为什么没有一个通过class来获取元素的方法.尽管现在高版本的浏览器已经支持getElementsByCla ...
- JS中的函数、Bom、DOM及JS事件
本期博主给大家带来JS的函数.Bom.DOM操作,以及JS各种常用的数据类型的相关知识,同时,这也是JavaScript极其重要的部分,博主将详细介绍各种属性的用法和方法. 一.JS中的函数 [函数的 ...
- node.js 中回调函数callback(转载),说的很清楚,看一遍就理解了
最近在看 express,满眼看去,到处是以函数作为参数的回调函数的使用.如果这个概念理解不了,nodejs.express 的代码就会看得一塌糊涂.比如: 复制代码 代码如下: app.use(fu ...
- JS中的函数、BOM和DOM操作
一.JS中的函数 [关于注释] /** [文档注释]:开头两个*.写在函数上方,在调用函数时可以看到文档上方的描述信息. */ // 单行注释 /* 多行注释 */ 1.函数的声明及调用 (1) ...
- html css <input> javaScript .数据类型 JS中的函数编写方式 BOM总结 DOM总结
Day27 html css div 块标签. 特点: 独占一行,有高度和宽度 span 行元素. 特点:在同一行显示,当前行满了自动去下一行显示. 不识别高度和宽度 1.1.1.1 2.输入域标签 ...
- 前端之js中的函数
函数 函数就是重复执行的代码片. 函数定义与执行 <script type="text/javascript"> // 函数定义 function ...
- JS中的函数节流throttle详解和优化
JS中的函数节流throttle详解和优化在前端开发中,有时会为页面绑定resize事件,或者为一个页面元素绑定拖拽事件(mousemove),这种事件有一个特点,在一个正常的操作中,有可能在一个短的 ...
随机推荐
- pinpoint插件开发实践
plugin基本结构 一个plugin主要由三部分构成,插件类增强定义(ProfilerPlugin接口实现).插件描述定义(TraceMetadataProvider接口实现).增强类拦截器实现(A ...
- js完美实现table分页
// JavaScript Document /** * js分页类 * @param iAbsolute 每页显示记录数 * @param sTableId 分页表格属性ID值,为String * ...
- ssl和tls
HTTP 是一个网络协议,是专门用来帮你传输 Web 内容 SSL 是Secure Sockets Layer 为啥要发明 SSL 这个协议捏?因为原先互联网上使用的 HTTP 协议是明文的,存在很多 ...
- 浮动float
一.浮动定义:会强制改变display为inline-block,使元素排队列,(排列方式由属性值决定,left / rihgt), 使该元素处于半脱离文档状态 二.浮动元素处于半飘离状态,能看到浮动 ...
- [原创]java WEB学习笔记19:初识MVC 设计模式:查询,删除 练习(理解思想),小结 ,问题
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- 【Flask模板】include标签
# include标签:1. 这个标签相当于是直接将指定的模版中的代码复制粘贴到当前位置.2. `include`标签,如果想要使用父模版中的变量,直接用就可以了,不需要使用`with context ...
- 20145229吴姗珊 《Java程序设计》第6周学习总结
20145229吴姗珊 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入\输出 1.java将输入\输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象 2.输入串 ...
- 【转】RMQ-ST算法详解
地址:http://blog.csdn.net/z287438743z/article/details/8132806 RMQ(Range Minimum/Maximum Query)问题就是求区间最 ...
- 剑指offer之 二进制中1的个数
问题描述: 请实现一个函数,输入一个整数,输出该数二进制表示中1的个数.例如把9表示成二进制是1001,有2位是1 因此如果输入9,该函数输出2; package Problem10; public ...
- Delphi中那些容易混淆的基础
@.^.Addr.Pointer Delphi(Pascal)中有几个特殊的符号,如@.^等,弄清楚这些符号的运行,首先要明白Delphi指针的一些基础知识:指针,是一个无符号整数(unsigned ...