js函数对象
js函数对象
js函数对象一、常用的定义函数的写法
1、声明式的
写法:function func(param1,param2…){…};
2、对象式的(构造函数)
写法:var func =new Function("param1","param2",..."function body");
例子:var sayHi=new Funciton("toWhom","alert('hi'+toWhom)");
3、字面量式
写法:var func=function [函数名可选,函数内可见](parms){...};
例子:var func=function funcTest(id){alert(id)}
说明:这种写法的函数名,只有在函数体内可见,可用于实现递归函数。
二、函数对象
函数的本质是一个内部对象,由JavaScript解释器决定其运行方式。注意可直接在函数声明后面加上括号就表示创建完成后立即进行函数调用,例如:
var i=function (a,b){
return a+b;
}(1,2);
alert(i);
在JavaScript中,函数对象对应的类型是Function,正如数组对象对应的类型是Array,日期对象对应的类型是Date一样,可以通过new Function()来创建一个函数对象,也可以通过function关键字来创建一个对象。
三、几种函数定义的使用比对
1、下面这段语句将产生func未定义的错误
func();
var func=function(){
alert(1)
}
2、但是下面两种方式能够正确调用
func();
function func(){
alert(1)
}
func();
var someFunc=function func(){
alert(1)
}
三、函数对象和其他内部对象
除了函数对象,还有很多内部对象,比如:Object、Array、Date、RegExp、Math、Error。这些名称实际上表示一个类型,可以通过new操作符返回一个对象。然而函数对象和其他对象不同,当用typeof得到一个函数对象的类型时,它仍然会返回字符串“function”,而typeof一个数组对象或其他的对象时,它会返回字符串“object”。
例如
alert(typeof(Function))); // “function”
alert(typeof(new Function())); // “function”
alert(typeof(Array)); // “function”
alert(typeof(Object)); // “function”
alert(typeof(new Array())); // “object”
alert(typeof(new Date())); // “object”
alert(typeof(new Object())); // “object”
可见new一个function实际上是返回一个函数。这与其他的对象有很大的不同。其他的类型Array、Object等都会通过new操作符返回一个普通对象。
- JavaScript生成GUID的方法
- vue走马灯特效(Javascript结合Vue实现对任意迷宫图片的自动寻路)
- jscanvas背景色(JavaScript canvas实现代码雨效果)
- javascript 数据分析(利用JavaScript差集实现一个对比小工具)
- javascript怎么编写游戏(javaScript实现网页版的弹球游戏)
- javascript作用域实例(JavaScript defineProperty如何实现属性劫持)
- javascript怎么判断对象类型(JavaScript对象内置对象,值类型和引用类型讲解)
- javascript编程中的promise(JavaScript如何利用Promise控制并发请求个数)
- javascript数组实例扩展方法(JavaScript如何监测数组的变化)
- js获取子表单所有数据(JavaScript实现异步提交表单数据)
- javascript中error错误类型
- web中如何预防xss攻击(详解前端安全之JavaScript防http劫持与XSS)
- javascript对象添加方法(详解JavaScript面向对象实战之封装拖拽对象)
- js中什么是宏任务(浅谈JavaScript宏任务和微任务执行顺序)
- pyqt5加载chrome浏览器(PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例)
- js回调函数原理(关于JavaScript回调函数的深入理解)
- ()
- 对你思念入骨的女人,跟你见面时会有这几种表现,藏都藏不住(对你思念入骨的女人)
- 纳兰性德绝美作,一场重逢,成就最后一首称得上惊艳的《如梦令》(纳兰性德绝美作)
- 如何快速赚钱(如何快速赚钱方法真实有效)
- 这里输入关键词(如何输入关键词)
- 熊猫中国国宝(熊猫国宝酒53酱香)
热门推荐
- laravel 后台管理框架(laravel-admin 管理平台获取当前登陆用户信息的例子)
- matplotlib中plot颜色控制(matplotlib实现区域颜色填充)
- js如何操作json字符串
- nginx 使用手册(nginx服务器的下载安装与使用详解)
- JS让打开的窗口居中
- mysql显示所有数据库语句(MySQL数据库自动补全命令的三种方法)
- amazonawslinux服务器设置(如何在AWS EC2的Linux服务器上开放一个端口)
- pythonredis使用场景(python redis 删除key脚本的实例)
- 面试时不能说的离职理由
- javascript如何建立一个静态变量(JavaScript中子函数访问外部变量的3种解决方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9