1,
var x = 1,
if ( function f() {} ){
x+=typeof f;
}
console.log(x); // 1undefined
分析: (1), ()为执行符号的一种,function f() 定义且执行,执行完之后,f()函数就没了,下面的f就是未定义; 一般情况下,未定义的变量直接使用会报错,typeof 是唯一一种不会报错的情况,结果为undefined,string类型.
(2),function f() {} 是一个函数,转换为布尔值为true,所以下面的f是未定义
2,
var a = ( 1-1 , 1+1 );
console.log(a); //2 逗号操作符 先计算逗号前面的结果,再计算后面的结果,把后面的结果return 出去
var f = (
function f() {
return "1";
},
function g() {
return 2;
}
)()
console.log(typeof f); //number
3,
给定一个字符串,求字符串的字节长度
function charcode(str){
var count= str.length;
for(var i=0;i<str.length;i++){
if(str[i].charCodeAt()>255){
count+=1;
}
}
return count;
}
网友评论