<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<body>
<script type="text/javascript">
//document.write("isNaN 2323 ->是否是数值=="+isNaN(2323));
$(function(){
$("input:button.my").live("click",function(){
alert($(this).val());
});
//$("#auto").click();//手动触发
});
function add(){
$("body").append("<input type=\"button\" value=\"btn3\" class=\"my\"/>");
}
function foo(num){
return function(num){
console.log(num);
}
}
var f = new foo(3); //实例化
f(); //undefined
f(5);//调用函数-->5
(function(){
var a=x=100; //未声名的变量为全局变量,否则定义在函数外成为全局变量;
window.b=100; //全局变量window是global全局对象
window.c = function(){ //全局函数
alert("hello c~");
}
})(); //调用匿名函数(初始化变量,明确window全局对象)
alert("b="+b);
c();
alert("x="+x);
String.prototype.repeat=function(num){
var repeatStr = this;
for(var i=1;i<num;i++){
repeatStr+=this;
}
return repeatStr;
}
alert("hello".repeat(3));
function test(){
alert("a="+a); //undefined
alert("fun()="+fun()); //undfined 变量声明与函数声明被提前,在顺序执行后变量并未进行赋值,而是直接输出,变量未初始步导致输出undefined
alert("fun2()="+fun2());
var a = 2;
function fun(){
return a;
}
function fun2(){
return 3;
}
}
test();
//this作用域应用
var firstname = "Lucy"; //全局
var obj={
firstname:"Lily",
pro:{
firstname :"sLucy",
getFirstName:function(){
return this.firstname; //在当前页面是局部
}
},
}
alert("obj.pro.getFirstName()\n"+obj.pro.getFirstName()); //sLucy
var getFirstName = obj.pro.getFirstName();
alert("var getFirstName = obj.pro.getFirstName();\n"+getFirstName); //sLucy
var getFirstName2 = obj.pro.getFirstName;
alert("var getFirstName2 = obj.pro.getFirstName;\n"+getFirstName2()); //Lucy ->返回的函数,作用域已经发生变化;
</script>
<input type="button" value="btn1" class="my"/>
<input type="button" value="btn2" class="my"/>
<input type="button" value="add other button" onclick="add()" id="auto"/>
</body>
主要涉及:live事件绑定、手动触发事件、作用域、原生态