111 lines
2.3 KiB
Markdown
111 lines
2.3 KiB
Markdown
# 20191130
|
||
|
||

|
||
|
||
给内置对象String添加原型方法,相当于在改变String对象的源码
|
||
```js
|
||
var str = new String('abcdef')
|
||
String.prototype.myReverse = () => {
|
||
var str = ''
|
||
for( var i = this.length -1 ; i >= 0; i--) {
|
||
str += this[i]
|
||
}
|
||
return str
|
||
}
|
||
console.log(str.myReverse)
|
||
```
|
||
|
||
给内置对象Array添加原型方法
|
||
```js
|
||
Array.prototype.mySort = () => {
|
||
for(var i = 0; i < this.length; i++) {
|
||
for(var j = 0; j < this.length - i; j ++) {
|
||
if(this[j] > this[j+1]) {
|
||
var temp = this[j]
|
||
this[j] = this[j +1]
|
||
this[j+1] = temp
|
||
}
|
||
}
|
||
}
|
||
return this
|
||
}
|
||
var arr = new Array(1,2,3,4,5,6,7,8)
|
||
console.log(arr.mySort())
|
||
```
|
||
|
||
将局部变量变成全局变量
|
||
|
||
```js
|
||
// 匿名函数自执行
|
||
(function(){
|
||
console.log('哈哈哈')
|
||
})();
|
||
(function(){
|
||
console.log('哈哈哈')
|
||
}());
|
||
|
||
// 开始
|
||
(function(){
|
||
var num = 100
|
||
})();
|
||
console.log(num) // 报错,不是undefined
|
||
|
||
// 传参方式
|
||
(function(win){
|
||
var num = 100
|
||
win.n = num
|
||
})(window);
|
||
console.log(n) // 打印100
|
||
```
|
||
|
||
undefined的情况
|
||
|
||
已定义未赋值
|
||
|
||
对象没定义的属性
|
||
|
||
函数并没有创建返回值
|
||
|
||
全局不一定是window 还可能使global
|
||
|
||
## 生成随机数
|
||
```js
|
||
// 生成随机数 -> 创建一个随机数对象 ---- 属性无 / 方法 -> 生成随机数
|
||
// 构造函数Random ---> 局部转全局 ---> 暴露给window ---> 实例化 ---> 调用方法 ---> 完成生成随机数
|
||
(function (window) {
|
||
// 创建随机数对象
|
||
function Random() {
|
||
|
||
}
|
||
Random.prototype.getRandom = (min, max) => {
|
||
// 0~5整数
|
||
return Math.floor(Math.random() * (max - min) + min)
|
||
}
|
||
window.Random = Random
|
||
}(window));
|
||
var random = new Random()
|
||
var num = random.getRandom(0, 5)
|
||
console.log(num)
|
||
```
|
||
|
||
js获取元素的方法
|
||
|
||
通过ID获取(getElementById)
|
||
|
||
通过name属性(getElementsByName)
|
||
|
||
通过标签名(getElementsByTagName)
|
||
|
||
通过类名(getElementsByClassName)
|
||
|
||
通过选择器获取一个元素(querySelector)
|
||
|
||
通过选择器获取一组元素(querySelectorAll)
|
||
|
||
获取html的方法(document.documentElement)
|
||
|
||
document.documentElement是专门获取html这个标签的
|
||
|
||
获取body的方法(document.body)
|
||
|
||
document.body是专门获取body这个标签的 |