硅云买域名做网站,做的ASP网站手机,南宁市流量点击推广平台,中小企业有哪些基本语法
function 关键字#xff1b;函数名#xff0c;应简明扼要且具有描述性#xff0c;没有函数名就是匿名函数#xff1b;参数列表#xff0c;个数≥0#xff0c;小括号不能省略#xff1b;函数体。
/* 基本语法 */
function 函数名(参数) { 函数体 }声明与调用 …基本语法
function 关键字函数名应简明扼要且具有描述性没有函数名就是匿名函数参数列表个数≥0小括号不能省略函数体。
/* 基本语法 */
function 函数名(参数) { 函数体 }声明与调用
通过 function 声明创建一个函数基本语法如上所示通过 函数名(相应参数) 进行调用。
function isPrime(n) {for (let i 2; i n / 2; i) {if ( n % i 0) return false;}return true;
}isPrime(11)
isPrime(111)返回值
通过 return needed 返回需要的数据通过 return ; 返回空空也是一个数据null/undefined严格来说是未定义undefined函数体执行完 return 语句后立即结束调用并返回数据。
function one() { return 1; }
function nothing() { return ; } // 亦或是 function nothing() { }
one() 1 // true
nothing() null // true
nothing() undefined // true 严格等于匿名函数
没有函数名的函数一般声明后立即调用通过函数表达式赋值给一个变量后续调用常用于响应事件触发如按钮点击事件。
myButton.onclick function () { alert(Push); } // myButton 需先建立函数表达式 - 另一种函数的创建方式
通过 function 引导的函数表达式同时也就是匿名函数将函数表达式赋值给一个变量这个变量就成为了可以被调用的函数了无论哪一种函数创建的方式得到的函数都是一个“值” 既可以被赋值等操作也可以作为函数的参数称为回调函数回调。
/* 下面两种函数的创建是等效的 */
function f() { return 1; }
f() // 1
let g f;let f function () { return 1; }
f() // 1
let g f;/* 函数作为参数 */
function showYourFunc(n, fn) {if (fn ! undefined) alert(fn);else alert(n)
}
showYourFunc(111, ) // 弹窗显示111
showYourFunc(111, function() { /* 这是一个回调但是没有内容只有注释 */ }) // 弹窗显示回调函数函数声明 VS 函数表达式
函数声明存在变量提升所以可先调用再声明函数表达式必须创建后才能调用一般是即刻调用的场景。
函数参数
在声明中称 parameter在调用时argument加入参数可以实现更复杂的逻辑功能参数可以是任何数据包括对象、数组、函数等可以将函数体简化。
function calc(a, b, operator) {const ops [, -, *, /, **, %]if (ops.includes(operator)) {return eval(${a}${operator}${b});}return a b;
}默认值
function name(parameter1默认值1, parameter2默认值2) { 函数体 }旧 JS 需要在函数体里提供默认值新 JS 可以在参数列表中直接给出没有自定义的话 也有默认值是 undefined。
/* 旧 JS 的手段 */
function f(p) {if (p undefined) p 1; // 以下两种亦可以// p p || 1// p p ?? 1
}/* 新 JS 的手段 */
function f(p 1) {
}作用域
局部变量局部作用域里的变量全局变量全局作用域里的变量一般只有项目级的、公共的变量才会定义在全局 内部变量块内部的变量像函数等一些块的内部变量只能作用在块内外部变量不被块限制的变量常常是全局变量也可以是从其他地方导入的变量一般可以在块内部被操作如循环体、函数体等都可以对外部变量进行操作。