9.11JS学习总结

一、函数的封装调用
1.先声明函数
render :渲染函数 index:索引、参数

2.function render(index)
3.获取触发事件的标签对象对应的数据
4.遍历数据中心的属性值数组
5.创建标签
6.渲染标签
7.添加标签

二、遍历数据(in 和 of 的区别)
1.for in 循环遍历的得到的是索引:for(var idx in data)
2.根据索引取出数组中对应的数据:var 自定义的变量=data[idx]

三、字符串常用函数
1.字符串类型,字面量声明了一个字符串对象
2.字符串中嵌套双引号:如 var s2=hello"世界" var s3=“hello\”世界、“”
3.字符串常用函数
(1)startsWith 判断字符串是否为某个字符开头,是返回true,不是返回false
(2)endsWith 判读字符串是否为某个字符结尾,是返回true,不是返回false
(3)字符串中每个字符有自己的下标索引,索引从0开始,依次+1
(4)substr():(截取开始的索引,向后截取的长度),返回一个新的字符串对象
(5)substring():截取开始的索引,截取结束的索引(不包含),返回结果同上
(6)split():分割字符串,可以指定通过哪些字符进行分割,返回一个数组对象,数组中存放的就是分割后的字符串
分割时传入一个空字符串,会将字符串中每一个字符进行分割
(7)如果不是一个纯数字参与运算,得到的就是NAN
(8)indexOf:获取字符在字符串中的索引,若找到返回索引,找不到返回-1
(9)search():用于查找字符在字符串中的索引,若找到返回索引,找不到返回-1

四、数组常用函数
1.js中的内置对象类型:Array数组
2.push()函数:向数组的末尾添加一条数据
3.pop()函数:用于删除数组中的最后一个元素,返回值就是元素
栈结构:先进后出,后进先出,只有一个入口,同时也是出口
push() 和 pop() 就是一对栈(stack)操作
4.unshift() 在数组最前面添加一条数据
5.shift()删除数组中最前面的一条数据,返回值就是删除的数据
unshift()和 shift()也是一对栈操作
先进先出,后进后出
6.splice()用于向数组中添加或删除指定位置的数据,返回值就是删除的元素组成的新数组对象
方法:(1)要删除数据的开始索引。(2)要删除元素的个数,(3)删除后所替换的新数据(可省略)
7.slice:(1)开始截取的索引,结束截取的索引(不含),用于数组截取。返回的就是截取出的新数组 ,(2)第二参数可以写成负值,表示截取到倒数第n个数据,(3)第一个参数必须小于第二个参数
(4)截取数据并不是删除,只是引用
(5)indexOf()获取指定数据在数组中的索引位置,如数据不存在返回-1
(6)join()用于将数组中元素拼接成一个字符串,返回拼接后的字符串默认使用
(7)将一个数组和另一个数组进行合并,返回的就是合并好的数组

五、对象的属性和函数
1.Object:对象类型
2.Array:js中的数组类型
3.new Array()通过构造函数创建数组对象
例:
通过构造函数创建对象:var people = new Object()
给对象添加属性:people.name=“张三”
给对象添加函数:people.run=function(){}
console.log(this):在对象函数中,this指向了执行函数的对象,这里值得就是people
4.对象函数想执行,必须由对象调用
例:people.run()
5.对象函数不要互相调用,会造成死循环
6.可以通过this获取当前对象的属性
7.在全局作用域下声明的函数和变量都是被添加到window对象上的,如果要使用window对象属性,window可以省略不写

六、组件化思想

<div id="box"></div>
	<div id="home">
	</div>
	<script src="js/nav.js"></script>
	<script src="js/home.js"></script>

	<script>
		// 渲染导航
		navObj.render()
		// 渲染家居模块
		homeObj.render()	
	</script>
js部分:
var navObj = {
	originData:{
		"name": "热门",
		"contents":[
			"小米手机",
			"红米手机",
			"智能家居",
			"小米周边"
		]
	},
	// 渲染页面
	render: function(){
		for (var name of this.originData.contents){	
			var section = document.createElement("section")
			section.innerText = name		
			document.getElementById("box").appendChild(section)
		}
	}
}
/---------------------------------------------------
var homeObj = {
	originData: {
		"name": "家居",
		"contents": [
			"小米拖地机器人",
			"小米智能音箱",
			"小米智能冰箱"
		]
	},
	render: function(){
		// 解析数据  渲染标签
		for (var name of this.originData.contents){
			var section = document.createElement("section")
			section.innerText = name
			document.getElementById("home").appendChild(section)
		}		
	}
}

七、变量的类型判断
1.typeof 运算符:获取变量的类型,返回结果为(number、string、boolean)
number:数字、 string:字符串、boolean:布尔值
例:var num= 10 var typeof num
2. instanceof 实例(对象):判断对象是否为某种类型,是返回true,不是返回false

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值