js的一些方法以及this问题

今天感觉自己的js基础方面确实有一些薄弱所以回来重新学习一下并记录一下(其中再附上我自己的理解)

1.js的数据类型

那些基本的诗句类型就不说了,这次主要记录一下数组和对象:

var cars = ['BMW','BENS'] //数组
var cars = {
    firstName: 'john',
    lastName: 'tom'
} //对象

同时如果你想确定是什么数据类型直接用typeof方法就可以了

其中访问对象属性我一直以为只有cars.firstName这一种形式,今天查阅文档发现还可以这么写cars["firstName"].

2.js的几个常用的事件

首先点击事件就不说了,太基础了,其次我认为比较常用的是onmouseover()--鼠标指针移动到指定元素上的时候出发,onmouseout()--鼠标指针移动出指定元素的时候触发,onkeydown()--用户按下键盘按键的时候触发。

3.js的几个常用的字符串的方法

charAt() --- 返回指定索引位置的字符

var str = "nihao";
var n = str.charAt(2);
console.log(2); //h

concat() --- 链接两个或更多的字符串,并返回新的字符串

var str1 = 'ni';
var str2 = 'hao';
var n = str1.concat(str2);
console.log(n) //ni hao

includes() --- 查找字符串中是否包含指定的子字符串

var str = 'nihao';
var n = str.includes('ni');
console.log(n); //true

match() --- 查找找到一个或者多个正则表达式的匹配(模糊查询)

var str = "我爱中国,我爱黑龙江";
var n = str.match('爱');
console.log(n) // 爱,爱

replace() --- 在字符串中查找匹配的子串,并替换与正则表达式匹配的子串。

var str = "我爱南京,我爱南京";
var n = str.replace('南京','黑龙江');
console.log(n) // 我爱黑龙江,我爱南京

所以需要注意的是只能进行一次替换,并且是第一个,需要替换所有匹配到的子串就要使用replaceAll()这个方法,使用方法和replace()是一样的,我这里就不多做赘述了。

slice() --- 提取字符串的片段,返回新的字符串

var str = "你好世界";
var n = str.slice(1,3);
console.log(n); //好世

toString() --- 返回一个string对象的值

var str = "你好世界";
var n = str.toString();
console.log(n); // 你好世界

4.使用typeof对类型进行检测的时候注意检测null的时候返回的是object,检测一个没有值得变量会返回undefined

5.下面重点说一下js中的this指向问题(重点),我就是总搞不清this指向的问题

-在方法中,this表示该方法所属的对象。

-如果单独使用,this表示全局对象。

-在函数中,this表示全局对象。

-在事件中,this表示接收事件的元素

//在方法中this指向的例子
var person = {
    firstName: '哈利',
    lastName: '波特',
    fullName: function() {
        return this..firstName + " " + this.lastNamel
    }
}
//其中的this就是指向方法里边的firstName和lastName
//单独使用this的时候this就指向了全局对象了
var x  =  this
//在函数中使用this的时候
function app() {
    return this;
}
//这个时候this就指向了全局对象[object Window]
//事件中的this
<div onclick="this.style.display='none'"></div>
//这个时候this就指向了这个div本身

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值