2.3 KiB
2.3 KiB
20191130
给内置对象String添加原型方法,相当于在改变String对象的源码
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添加原型方法
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())
将局部变量变成全局变量
// 匿名函数自执行
(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
生成随机数
// 生成随机数 -> 创建一个随机数对象 ---- 属性无 / 方法 -> 生成随机数
// 构造函数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这个标签的