style.cssText----设置dom的样式:
var dom=document.getElementById("test");
dom.style.cssText = "width:10px;height:10px;border:solid 1px red;";
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<script language="javascript">
/**方式一**/function test(){
return{//返回一个对象
get_name:function(){
alert("xubo");
}
};
}
test().get_name();//xubo
/**方式二**/
function test2(){
this.get_name = function(){
alert("xubo");
}
}
var obj = new test2();
obj.get_name();
/**方式三**/
var obj = {
get_name:function(){
alert('xubo');
}
}
obj.get_name();
</script>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
var obj = {
init:function(){
this.name = 'xubo';
}
}
var si = new obj.init();
alert(si.name);//xubo
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
正则表达式中/i,/g,/ig,/gi,/m的区别和含义
/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
(1)var myfunc = function ()
{
alert("hello");
};
myfunc(); //第一次调用 myfunc,输出hello
myfunc = function ()
{
alert("yeah");
};
myfunc(); //第二次调用 myfunc,将输出yeah
在第一次调用函数之后,函数变量 又被赋予了新的函数代码体, 使得第二次调用该函数时,出现了不同的输出。
(2)
function myfunc ()
{
alert("hello");
};
myfunc(); //这里调用myfunc,输出 yeah 而不是 hello
function myfunc ()
{
alert("yeah");
};
myfunc(); //这里调用myfunc,当然输出yeah
程序运行之后却发现一个 奇怪的现象:两次调用 都只是最后那个函数里输出的值!显然 第一个函数没有起到任何作用。这又是为什么呢?
原来,JavaScript 执行引擎并非一行一行地分析和执行程序,而是一段一段地分析执行的。而且,在同一段程序的分析执行中,定义式的函数语句会被提取出来优先执行。函数定义执行完之后,才会按顺序执行其他语句代码。也就是说,在第一次调用myfunc之前,第一个函数语句定义的代码逻辑,已被第二个函数定义语句覆盖了。所以,两次都调用都是执行最后一个函数逻辑了。
(3)
如果把这个JavaScript代码分成两段,例如将它们写在一个html 中,并用<script/>标签将其分成这样的两块:
<script>
function myfunc ()
{
alert("hello");
};
myfunc(); //这里调用myfunc,输出 hello
</script>
<script>
function myfunc ()
{
alert("yeah");
};
myfunc(); //这里调用myfunc,输出 yeah
</script>
这时,输出才是各自按顺序来的,也证明了JavaScript的确是一段段地执行的
一段代码中的定义式函数语句会优先执行,这似乎有点象静态语言的编译概念。所以,这一特征也被有些人称为:JavaScript的“预编译”。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
在JavaScript函数中,你只能把this看成当前要服务的“这个”对象。 this是一个特殊的内置参数,根据this参数,您可以访问到“这个”对象的属性和方法,但却不能给 this 参数赋值。在一般对象语言中,方法体代码中的 this可以省略的,成员默认都首先是“自己”的。但JavaScript却不同,由于不存在“自我”,当访问“这个”对象时,this不可省略!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
html5中JSON.parse()与JSON.Stringify():
分别用于将字符串序列化成DOM对象和将DOM对象转换成字符串
parse():
var jsObject = JSON.parse('{"name":"Mike","age":22}');stringify():
var jsonString = JSON.stringify({name:"Mike",age:22}); //jsonString = '{"name":"Mike","age":22}'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function obj(){
this.age = 21;
}
obj.name = "xubo";
alert(obj.name);//"xubo"
alert(obj.age);//undefined
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
回调函数使用:
obj = {
getData:function(){
var param = arguments[0];
//回调函数
if(typeof param.success=="function"){
param.success({name:"xubo",type:param.type});//调用回调函数
}
}
}
obj.getData({
type:"POST",
success:function(datas){alert("name:"+datas.name+"\n type:"+datas.type)}
});
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
var num = .15;
alert(num)//0.15
阻止浏览器的默认行为:
//如果提供了事件对象,则这是一个非IE浏览器
if ( e && e.preventDefault ){
//阻止默认浏览器动作(W3C)
e.preventDefault();} else{
//IE中阻止函数器默认动作的方式
window.event.returnValue = false;
return false;
}