python学习函数视频_视频学习之函数function 部分

基本功:一句话体现你的能力,经验,遇到什么问题用什么方法,有自己的一套思想。学会企业级开发。

编程的思想:高内聚,低耦合。内部代码联系度强,意味着模块化强,低耦合,重复度低,让一个代码块有强的功能性,独立性。

栈:stack 堆:heap 域:scope

函数名命名规则:

不能数字开头

小驼峰命名法:复合单词:第一个单词小写,之后的单词首字母大写

1.为什么叫函数

数学中 y = f(x) 有一个输入,有一个输出

function test (a,b){

执行语句;

}

这叫函数声明(也叫字面量),function 相当于var ;

还有一种是 函数表达式: test 在函数外部不可见,但函数内部可以调用。

var sum = function test (a,b){ //test 可以省略,

执行语句;

test();// true

}

test();// undefined

console.log(sum.name)//test

2. 函数的参数和形参实参的映射关系:

形参默认值:undefined

function test(a,b){

console.log(test.length);//2

console.log(argements.length);//3

console.log(arguements);//[1,2,3]

}

test(1,2,3);

在函数内部可以更改实参的值:

function test(a,b){

a = 3;

console.log(argements[0]);

}

test(1,2);//3

但这里arguments0和 a=3不是同一个,1 是存在堆内存,3是存在栈内存。 arguments是数组,引用类型,存在堆内存中,他们是存在一种映射关系。形参是一个占位,映射arguments

3.函数递归:函数自己调用自己,性能不占优势,占用内存

n的阶乘:

不能用 for循环:

分析: 5!= 54!

4!= 43!…

function factorial(n){

if(n === 1){

return 1;

}

return n*factorial(n-1);

}

factorial(4);//24

斐波那契数列:

function fibonacci(n){

if(n <=2){

return 1;

}

return fibonacci(n-1)+fibonacci(n-2);

}

fibonacci(5);//5

4.立即执行函数:() 全程IIFE

普通函数存在全局执行环境中,ECglobal,不释放,占内存的

我们需要一个函数来只是用一次,然后销毁,于是产生了立即执行函数;

表达式才可以使用立即执行符号——();

基本写法:

(function(){})(); (function(){}());

var sum = (function(){return 10})();//sum = 10;

(function test(a){

console.log(a);//10

})(10);

var a = (6,5)//5 逗号是运算符,返回 “,” 后面的数

5. call apply 更改this指向 ,还有一个是bind

call 和apply 是function的一个方法;

function test (){

}

test.call();//相当于test()

二者的区别在于:call传的是字符串,apply传的是数组,call(Object,’name’);apply(Object,[‘name’])

6.callee 和caller

callee表示返回该调用函数;caller表示返回调用该函数的函数

function test1(){

console.log(arguments.callee.length); //表示形参长度

test2();

}

test1();

function test2(){

console.log(test2.caller);

}

test1();//返回test1 函数

原文链接:https://blog.csdn.net/qq_44758322/article/details/105550795

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值