for循环
例如:输出5遍你真棒
for (var i = 1; i <= 5; i++) {
document.write("你真棒第" + i + "遍");
}
var i = 1:参数,既从第几位开始循环。计算表达式1
i <=5:件判断,既循环次数;在被判断为ture才执行。计算表达式2
i ++:循环变量。计算表达式3
输出可以使用document.log(i)或document.write(i)。
区别:
控制台输出;
console.log()----可以用逗号,相当于逗号之前和之后执行了两次console。
页面输出:
document.write()----当页面渲染完成之后再执行,会覆盖页面上原有的内容。
Indexof
indexOf() 方法可返回数组中某个指定的元素位置。
该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start参数时)。如果找到一个 item,则返回 item 的第一次出现的位置。
如果在数组中没找到指定元素则返回 -1。
例如:
var str = "Hello world!"
console.log(str.indexOf("o")) //4
JS原型与原型链
JavaScript中的每个对象都有一个原型对象,它充当了对象的模板,定义了对象的属性和方法。当我们访问一个对象的属性或方法时,如果该对象本身没有这个属性或方法,
就会沿着原型链向上查找,直到找到该属性或方法为止。
所有的引用类型都有一个’_ _ proto_ _'属性(也叫隐式原型,它是一个普通的对象)
所有的函数都有一个’prototype’属性(这也叫显式原型,它也是一个普通的对象)。当试图得到一个对象的属性时,如果这个对象本身不存在这个属性,那么就会去它的’_ _ proto_ _'属性(也就是它的构造函数的’prototype’属性)中去寻找。
所有引用类型,它的’_ _ proto_ _'属性指向它的构造函数的’prototype’属性。
原型链是由一系列原型对象组成的链式结构,每个对象都有一个指向它的原型对象的引用。当我们寻找一个对象的属性或方法时,如果该对象本身没有这个属性或方法,JavaScript引擎就会沿着原型链向上查找,直到找到该属性或方法为止。如果一直查找到最顶层的Object.prototype对象还没有找到该属性或方法,那么返回undefined。