概述
函数进阶
函数定义
函数的三种定义方法
函数声明定义
function 函数名(){
代码
}
函数表达式定义法
匿名式函数表达式定义
var fn=function(){
代码
}
命名式函数表达式定义法
var fn=function content(){
代码
}
构造函数定义法
构造函数首字母大写不成文的规定
var fn=new Function("a1","a2","alert(a1*a2)")
fn(13,14);
//182
// 函数声明定义
// function fn(){}
// 可以先调用再声明
// 声明提升
// 函数表达式定义不存在声明提升的
// fn();
//报错
// var fn = function(){
//
alert("卡卡西");
// }
函数调用
函数模式调用
函数名();
// 1. 函数模式调用
var content="我的名字叫卡卡西";
function value(x){
console.log(x);
//我的名字叫卡卡西
console.log(this);
//window
函数模式调用的时候,this就是window
console.log(this.content);
//我的名字叫卡卡西
}
value(content);
方法模式调用
当函数体在对象里面
.方法()
var content="我的名字叫卡卡西";
var obj={
"content":"我的名字加我爱罗",
"word":"我的愿望是成为火影",
"value":function fn(){
console.log("卡卡西");
//卡卡西
console.log(this);
//obj
console.log(this.content);
//我的名字叫我爱罗
方法模式调用里面,this就是调用者
console.log(content);
//我的名字叫卡卡西
}
}
obj.value();
面试题
//面试题
var content00={
"value":"我的名字叫卡卡西",
"obj":function(){
var content01={
"value":"我的名字叫卡卡西",
"obj":function(){
console.log(this.value);
}
}
content01.obj();
}
}
content00.obj();
call和apply调用
(主要在面向对象中使用)
<style>
*{
margin: 0px;
padding: 0px;
list-style: none;
}
div{
width: 256px;
height: 256px;
margin: 49px auto;
}
</style>
<script>
var div=document.getElementsByTagName("div")[0];
function color(attr,value){
//attr为属性
value为值
this.style[attr]=value;
}
window.color.call(div,"background","#096");
// 因为window里面没有style属性,所以,需要改变一下this指向
</script>
call和apply的方法改变this的指向
cell
和apply
的区别
cell和apply的能力是一样的
cell
和apply
的区别
cell(content,"卡卡西","我爱罗")
apply(content,["卡卡西","我爱罗"])
写法不一样
最后
以上就是殷勤鱼为你收集整理的javascript_函数进阶_ZHOU125disorder_的全部内容,希望文章能够帮你解决javascript_函数进阶_ZHOU125disorder_所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复