eval及函式宣告和函式表示式
阿新 • • 發佈:2018-11-09
1,eval:將一個物件行使額字串轉換為物件
{ name: 'Jim' ,age :19}==>語法錯誤
//使用()將其轉化成表示式,{}不再是語句塊了,就是物件了
->var o= eval( "( { name : 'Jim' ,age :19 } )"}
//在js中有一個標記語法
語法: 名字+ “ :”
其作用是跳出多層迴圈
eg : 找出7,並輸出7的位置(幾行及列)
var arr=[
[1,2,3,4], [5,6,7,8] , [9,10,11,12]
]
var res1 = [ ];
//使用標記語言跳出
zhangsan:for(var i=0;i<arr.length;i++){
for(var j=0;j<arr[i].length;j++){
if(arr[i][j]===7){
res1.push(i+1);
res1.push(j+1);
break zhangsan;
}
補充小知識:
函式宣告和函式表示式的區別:函式宣告是單獨寫在一個結構中,不存在任何語句,或者邏輯判斷語句等,而函式表示式相反。function foo( ){ }
var foo=function ( ) { }
//第一個的語法是函式宣告,可以提升,也在函式定義的上方也可以呼叫
下面的語法是函式表示式,函式名就是foo,它會提升,提升的不是函式體