3-13反思总结

1.innerHTML

修改 HTML 内容的最简单的方法是使用 innerHTML 属性。

这句话的说法是错误的,innerHTML属性用于获取或替换 HTML 元素的内容,不能用来修改内容。

2.null与undifined

(1)null 的字面意思是 空值 ,这个值的语义是,希望表示 一个对象被人为的重置为空对象,而非一个变量最原始的状态 。

(2) undefined 的字面意思就是未定义的值,这个值的语义是,希望表示一个变量最原始的状态,而非人为操作的结果 。

(3)虽然 undefined 和 null 的语义和场景不同,但总而言之,它们都表示的是一个无效的值。 因此,在JS中对这类值访问属性时,都会得到异常的结果;ECMAScript 规范认为,既然 null 和  undefined 的行为很相似,并且都表示 一个无效的值,那么它们所表示的内容也具有相似性,即有

undefined == null; //true

3.window.location

(1)window.location.href 当前页面跳转
(2)window.open 新页面跳转
(3)self.location.href =‘#’ 禁止页面跳转-可以用在你页面要打开外部插件
(4)window.location.assign() 也是在本页面刷新
(5)window.location.reload(true);强制从服务器重新加载当前页面
(6)window.location.replace()刷新当前页面

4.i++与++i

i++ 即后加加,原理是:先自增,然后返回自增之前的值
++i 即前加加,原理是:先自增,然后返回自增之后的值
不论是前++还是后++,都有个共同点是先自增。

var i=100;i++;j=i++;y=++j; j=102;y=102;

5.DOM中追加、插入、移除、复制和获取节点

appendChild();  在末尾追加节点

insertBefore(); 插入节点

removeChild(); 移除节点

replaceChild();  替换节点

cloneNode();  复制节点

document.getElementById();  通过Id获取节点

document.getElementsByClassName();  通过类名获取节点

document.getElementsByTagName(); 通过属性name的值获取节点

6.this关键字用法

(1)纯粹的函数调用

function test(){ 
    this.a = 1; 
    consolelog(this.a); 
} 
test(); // 1 

(2)作为对象方法的调用

function test(){ 
    consolelog(this.x); 
} 
var o = {}; 
o.x = 1; 
o.m = test; 
o.m(); // 1 

o.m()就相当于调用test方法,因此this指向的是o,this.x也就是o.x=1

(3)作为构造函数调用

function test(){ 
    this.x = 1; 
} 
var o = new test(); 
consolelog(o.x); // 1 

对象是通过这个test函数生成的,因此this指向的也就是这个对象,this.x=o.x=1

(4)apply调用

apply()是函数对象的一个方法,它的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象。因此,this指的就是这第一个参数。

var x = 0; 
function test(){ 
  consolelog(this.x); 
} 
var o={}; 
o.x = 1; 
o.m = test; 
o.m.apply(); //0 

apply()的参数为空时,默认调用全局对象。因此,这时的运行结果为0,证明this指的是全局对象。 
该分点 原文链接:https://blog.csdn.net/chiuwingyan/article/details/78260413

6.用js实现永久及临时存储、获取、删除、删除所有本地数据的方法

(1)临时存储:sessionStorage

存储数据:sessionStorage.setItem(key,value)

获取数据:sessionStorage.getItem(key)

删除数据:sessionStorage.removeItem(key)

清除所有数据:sessionStorage.clear()

(2)永久存储:localStorage

存储数据:localStorage.setItem(key,value)

获取数据:localStorage.getItem(key)

删除数据:localStorage.removeItem(key)

清除所有数据:localStorage.clear()

7.数组去重(通过indexOf)

indexOf() 可返回某个指定的字符串值在字符串中首次出现的位置。

语法:stringObject.indexOf(searchvalue,fromindex)

参数:searchvalue(必需,规定需检索的字符串值)fromindex  可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索

如果要检索的字符串值没有出现,则该方法返回 -1

function unique4(arr) {
    var newArr = [];
    for (var i = 0; i < arr.length; i++) {
        if (newArr.indexOf(arr[i])===-1) {
            newArr.push(arr[i]);
        }
    }
    return newArr;
}
var arr = ['l', 'p', 'y', 'g', 'j', 'm', 'l', 'g'];
console.log(unique4(arr));
//['l', 'p', 'y', 'g', 'j', 'm']

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值