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:; 和javascript:void(0);
- jupyternotebook搭建和使用(Jupyter Notebook运行JavaScript的方法)
- 在html中使用javascript实例代码(原生 JS+CSS+HTML 实现时序图的方法)
- javascript执行类的所有方法(Javascript中异步等待的深入理解)
- JavaScript instanceof 的用法
- javascript 数组排序
- javascript如何获取后台数据(JavaScript实现异步获取表单数据)
- JavaScript将具有父子关系的数据转化成树形结构,供tree控件使用
- dedecms新手建站教程网页设计(DEDECMS幻灯片中JavaScript实际应用举例)
- javascript文件解压(JavaScript 如何在线解压 ZIP 文件)
- javascript学习参数(详解JavaScript堆栈与拷贝)
- JavaScript中实现AES加密解密
- jsfor循环是什么意思(JavaScript中三种for循环语句的使用总结for、for...in、for...of)
- js使用canvas(JavaScript canvas实现七彩时钟效果)
- mvc JavaScriptResult的用法
- js获取子表单所有数据(JavaScript实现异步提交表单数据)
- 指天椒紫苏爆炒牛肉(指天椒紫苏爆炒牛肉)
- 谷雨前,吃牛羊肉别忘了吃河鲜,除湿还清热,加紫苏一炒特解馋(吃牛羊肉别忘了吃河鲜)
- 紫苏牛肉锅里滚一滚,香的鼻子都要掉了(紫苏牛肉锅里滚一滚)
- 每天都吃水果的好处(每天吃水果的好处与功效)
- 苹果15价格(苹果15价格512g官网)
- 春节放假几天(春节放假几天2023法定几天)
热门推荐
- linux下python安装pip(在Docker中的ubuntu中安装Python3和Pip的问题)
- python多线程和多进程应用场景(Python多线程处理实例详解单进程/多进程)
- 看懂云服务器带宽大小的区别(云服务器的流量与带宽是如何换算?)
- Visual Studio的browser link
- vue3 动态生成组件(如何在vue3.0+中使用tinymce及实现多图上传文件上传公式编辑功能)
- set statistics time on的理解
- djangoapi接口开发(Django使用AJAX调用自己写的API接口的方法)
- vue离线地图有哪些(vue 集成腾讯地图实现api附DEMO)
- elementui自定义坐标(element-ui 上传图片后标注坐标点)
- css设置背景图片在角落(详解使用CSS固定页面背景图片位置的方法)