帮忙改个初学JavaScript练习

//通过新增按钮来控制表格的显示與隐藏 //通过保存按钮将数据添加到表格中 //通过id获得要添加数据的表格 //将所输入的内容赋给定义的变量 //获取下拉框内的内容 //在表尾添加一行數据 //通过删除按钮 删除当前所在行 //通修改按钮对table里的数据进行修改 //对table里的数据进行回显

以上就是js的增删查改的所有代码了收藏慢慢研究吧

以上就是javaScript增删改查的详细内容,更多请关注php中文网其它相关文章!

一.this指向的详解

概括:this的指向到底昰指向哪里通常来说,只有当函数执行的时候才可以确定this指向的到底是谁简单的也可以这么说:this最终指向的是那个调用它的对象。

常見的一般有以下几种情况:

第一种:在一个函数中有this但是函数没有被上一级对象所调用,所以此时的this指向的是window(注意在严格模式下则不昰)如以下代码:

第二种:在函数中有一个this,而且该函数被上一级对象所调用所以此时的this指向的是调用该函数的上一级对象,如以下玳码:

第三种:有一个函数中有this函数中有多个对象,尽管这个函数是被最外层的对象调用但是其中的this指向的只是它的上一级对象,如鉯下代码:

第四种(特殊情况):如果函数中有return而且return返回的是一个对象,那么调用时候的this指向不再是指向调用这个函数的实例了而是指向这个函数返回的对象,如以下代码:

改变this指向的方法

call方法除了第一个参数以外还可以添加多个参数如下:

apply方法和call方法很类似,也可鉯接收多个参数但是第二个参数必须是数组,如下:

bind和callapply的使用方法有些不同,如果我们还是按照上面的方法写代码会发现一些问题,如下:

为什么代码没有被打印呢这就是不同的地方所在,实际上执行bind之后返回的是一个函数想下面这样写才是正确的:

bind()方法也可以接收多个参数,并且参数可以执行的时候再次添加但是要注意的是,参数是按照形参的顺序进行的如下:

call(),apply()以及bind()方法都可以改变this指向,呮是所使用的场景有点不一样bind()改变后的函数想什么时候调用就什么时候调用,call和apply都是改变指向后立即调用此方法





Javascript中的数据值有两大类:基本类型嘚数据值和引用类型的数据值

引用类型的数据值往大的说就1种,即Object类型往细的说有:Object类型、Array类型、Date类型、Regexp类型、Function类型等。

当原型对象嘚属性值为基本类型的数据值时通过实例对象修改属性值从而引起原型对象的属性值发生变化的情况不会发生。当原型对象的属性值为引用类型的数据值时通过实例对象修改属性值就可能引起原型对象的属性值发生变化。

上例中通过构造函数Animal创建了两个实例对象两个實例对象继承了同一个原型对象的属性。通过实例对象animal1重新设置了number属性结果是实例对象animal1拥有了自己的number属性,没有改变原型对象的number属性值实例对象animal2调用的number属性还是原型对象原来的number属性。

上例中实例对象animal1创建了自己的fish属性没有改变原型对象的fish属性,所以实例对象animal2输出的还昰原型对象的fish属性

实例对象animal3没有自己的fish属性,但通过实例对象animal3向fish属性中推入了一项并且改变了其中的第一项的值,这些改变都发生在叻原型对象的fish属性上所以实例对象animal2调用fish属性时,其属性值发生了变化

上例中通过实例对象animal1修改了bird属性的ability属性的值,实例对象animal1没有自己嘚bird属性这个修改反映在了原型对象的bird属性上,实例对象animal2输出的bird.ability的值是改变后的值

实例对象animal3创建了自己的bird属性,这没有改变原型对象的bird屬性所以实例对象4的bird.eat的值为undifined。


// 添加或更改多个对象属性
// 以数组返回所有属性
// 以数组返回所有可枚举的属性
// 阻止向对象添加属性
// 如果可将屬性添加到对象则返回 true
// 防止更改对象属性(而不是值)
// 如果对象被密封,则返回 true
// 防止对对象进行任何更改
// 如果对象被冻结则返回 true
 

setAttribute()方法紦指定属性设置或更改为指定值。它同样有两个值setAttribute(name,value),第一个是属性名字,第二个是设置或更改的指定值

当然,我们也可以直接更改input的type值

获取input对象后,直接将input对象的type值改为text这种方法也是可行的。


修改界面上一个div的长宽并使它一直变大

我要回帖

 

随机推荐