2018.12.28學習JavaScrip
JavaScript
函式:function
function:宣告函式,後面加函式名(){
}
test();
function test(){
alert('this is a test');
}
//test(); 放在上下都可以
//函式名稱嚴格區分大小寫
function TEST(){
alert("hello king");
}
// TEST();
//函式名稱重複會產生覆蓋
function test(){
alert('hello nana');
}
// test();
function test1(){
alert('this is test1 function');
}
//alert(text1())
//alert(test1()); 先輸出'this is test1 function' 之後輸出undefine
輸出它的返回值
function test2(){
// return null;
// return undefined;
// return;
// return true;
// return 'this is king';
// return 1.2;
//alert('this is a test');
// return 1;
}
alert(test2());
alert(typeof (alert('this is a test')));
return 返回
function calc(num1,num2){ 形參
return num1+num2;
}
// alert(calc(1,2)); alert(calc(1,2));引數 / alert(window.calc(3,5));
// alert(window.calc(3,5));
// alert(calc(1,2,3,4,5,6));
function calc1(num1=1,num2=2){
return num1+num2;
}
function calc1(num1,num2){
num1=num1||1;
num2=num2||2;
return num1+num2;
}
//alert(calc1());
//實現預設引數的形式
function calc4(x,y){
x=x||0;
y=y||0;
return x+y;
}
function calc4(x,y){
if(x===undefined){
x=0;
}
y=y===undefined?0:y;
return x+y;
}
//alert(calc4());
//alert(calc(1,3,4)); //控制著物件的長度
function calc(x,y){
//return arguments;
// alert(arguments[0]);
// alert(arguments.length);
x=arguments[0]?arguments[0]:0;
y=arguments[1]?arguments[1]:0;
return x+y;
}
//alert(calc());
//alert(calc(1,2));
//可變引數形式的函式
function test(){
var paramsNum=arguments.length;//得到傳入引數的個數
var sum=0;
for(var i=0;i<paramsNum;++i){
sum+=arguments[i];
}
return sum;
}
//alert(test(1,2,3,4,5,6));
function test1(){
var paramsNum=arguments.length;
var max=0;
for(var i=0;i<=paramsNum-1;i++){
if(arguments[i]>max){
max=arguments[i];
}
}
return max;
}
alert(test1(123,3432,23456,445643)); 輸出的是最大值,也是最後一位 /{return num1+num2;} 有幾個讀幾個
//變數作用域
var x=1; //x=1是全域性變數 x=19是區域性變數 全域性變數寫在函式外 區域性變數寫在函式內 只取到變數取不到值
function test(){
document.write('函式體內x的值為:'+x+'<br/>'); //undefined,x值取下面的,但是取不到值
var x=19;
document.write('函式體內對x重新賦值,此時x的值為:'+x+'<br/>'); //19
}
document.write('函式體外x的值為:'+x+'<br/>'); //1
test();
document.write('x的值為:'+x+'<br/>'); //1
//document.write('<hr color="red"/>');
//全域性變數和區域性變數的區別 //全域性變數寫在函式外 區域性變數寫在函式內 只取到變數取不到值
/* function test(){
var x=1;
alert(x);
}
test();
alert(x); //取不到變數,報錯*/
function test(){
y=5;
alert(y);
}
// test();
// alert(y);
var x=1,y=2;
function calc(x,y){
document.write('a的值為'+a+'<br/>');//undefined
document.write('函式體內x的值為:'+x+'<br/>'); //1
document.write('函式體內y的值為:'+y+'<br/>'); //2
var x=0,y=6;
z=x+y;
x=x+y;
var a=198;
document.write('a的值為:'+a+'<br/>'); //198
document.write('x的值為:'+x+'<br/>'); //6
return z;
}
//alert(calc(x,y));
//回撥函式的例子
function calc(x,y){
return x()+y();
}
function test1(){
return 3;
}
function test2(){
return 5;
}
//alert(calc(test1,test2));
//alert(calc(function(){return 5;},function(){return 10;}));
function say (value) {
alert(value);
}
//alert(say);
say('hi js.');
function()匿名函式 function aa()命名函式