js前面有一段主要是和html密切相关,做出一些效果,比如点击事件,定时器,还有借助外界的一些网站做出一些特效,比如jQuery,bootstrap这些可以快速得到一些效果很好的表格图片。
dom和bom
dom:文档中的一些标签
bom:js是通过bom来控制、修改、访问浏览器。bom依托于浏览器,window是bom的对象而非js的。
原型:
构造函数通过原型分配的函数是所有对象共享的
对象创建的三种方法:1.实例对象2.调用系统的构造函数3.创建自定义函数
工厂函数:函数首字母小写 this 没有返回值
构造函数:函数瘦首字母大写 this 有返回值
工厂函数:只有创建函数和调用函数
构造函数:包括创建函数和new
1、原型:
\
(1)prototype显示原型属性:所有方法(函数)都有的一个属性
(2)__proto__隐式原型属性:所有实例对象都有的一个属性
构造函数要new才算构建成功
prototype是函数创建就生成的,默认指向Object空对象({})
proto是实例对象创建自动生成的,指向原型对象
原型对象中有constructor,它指向函数对象
原型的作用:共享数据,节省内存空间
当原型prototype被实例化,constructor则被取代
怎样解决:在实例对象加入'construcotor:函数名,'
2原型链
函数实例对象的__proto__===原型对象的的prototype
比如
!DOCTYPE html>
Document
function Fn() {}
var p = new Fn();
console.log(Fn.prototype === p.proto);//true
\
\
3.继承
(1)call:可以用来调用函数。可以改变这个函数this的指向
4.获取字符串
通过trim消除字符串两边存在的空格
es5中新增的方法:Object.defineproperty(obj,prop,descriptor)(修改、新增)
this指向调用者