说实话,以前会用js,就是在标签上绑定个事件,就像 <span onclick="doSome()"></span>,在script中写 functiondoSome(){} .至于对象,呵呵,完全不
说实话,以前会用js,就是在标签上绑定个事件,就像 <span onclick="doSome()"></span>,在script中写 function doSome(){} .至于对象,呵呵,完全不懂.
在我的理解中,js的对象和 java中的对象很相似,本来就是嘛,这两个有着千丝万缕的联系.不同的是,java中用class 当前缀,如 public class Person{} ,而在js中,用 function Person(){}.当我们这样: var person =new Person(); 一个person 对象就生成了.里面是空的 .而如果代码是这样:
function Person(name,age){
this.name=name;
this.age=age;
}
var person =new Person("xiaoxiao",25);
这个person对象,他的名字就是"xiaoxiao" ,age=25
用console.log("person名字是--->"+person.name+" 年龄是"+person.age);可以在控制台打印出来.
在js中,也可以这样直接得到一个对象: var obj={};
但是里面的值要这样形式:{arg1:"xiaofeiji",arg2:20}
键值对的形式,中间用 逗号 分开来.键一般都是string类型,值可以任意,如果是数字,可以直接写,如果是其他值,作用域中要能取到.如果没有,就会这样 :
Uncaught ReferenceError: a is not defined
运行的时候直接报错.
值也可以是一个对象,如把上面的 person放进去. var obj={person:person,title:"我是个人"}
这个时候 obj.person 就是person 了.想取值,再继续 .属性
有句话很重要,只有对象才能 .属性 .对象
例如,var a="abc"; 要是 a.xxx 绝壁报错.
关于取值问题,可以用 obj.title 这样取值,也可以用 obj["title"] 这样取值.
在原生js中,操作dom对象,改变他的样式,可以这样:
var my_dom=document.getElementById("my_dom");
my_dom.style.height="20px";
my_dom.style.width="20px";
my_dom.style.border="1px solid red";
这样style属性就改变了.可以在浏览器上直接看出来.
也可以用这样的办法:
my_dom["style"]["height"]="20px";
my_dom["style"]["width"]="20px";
my_dom["style"]["border"]="20px";
是不是感到很奇怪,怎么会有两种,就算不感到奇怪,也感觉不正常,为什么要两种呢,一种不就可以了吗?其实,第二种方法很有用的,接下来我就告诉你.
如果有一天,你要把这个做成一个组件,通关传参来修改 my_dom 的 样式
你就要这样写 function updateStyle(key,value){
my_dom.style.key=value;
}
原谅我偷懒了,没有获取 my_dom 对象就直接用了.上面的写法错误的,不相信的可以试试.但是,你要是这样 my_dom.style[key]=value; 这样就是对的.当然你的值传的要正确,不然怎么会有效果.
肚子里没干货了,就这么点....虽然 jQuery很好用,但是写原生 js 还是好开心,因为这是自己写的!!