思考?
1.如何准确判断一个变量是数组类型
2.写一个原型链继承的例子
3.描述new一个对象的过程
4.zepto(或其他框架)中如何使用原型链
构造函数:一般函数为大写字母开头的都是构造函数,如下:
function foo(name,age){ this.name=name this.age=age //return this // 默认有这一行}var f = new foo('l',20) ; //构造函数形成实例,可以创建多个对象;f是一个空对象,原型是foo// new 的时候,其实this变成一个空对象,再执行构造函数中的赋值操作,返回的对象便有了这些值
var a={}其实是var a=new object()的语法糖
var a=[]其实是var a=new array()的语法糖
function foo(){}其实是var foo=new function()
原型是什么?
在javascript中原型是一个prototype对象,用于表示类型之间的关系。
规则:
1.所有的引用类型(数组、对象、函数),都具有对象特性,即可自由扩展属性(除了”null”对象以外)
var obj={};obj.a=100;var arr=[];arr.a=100;function fn(){}fn.a=100;
2.所有引用类型都有一个_proto_(隐式原型)属性,属性值是一个普通的对象
console.log(obj._proto_); //隐式原型,都具有可扩展属性原则
3.所有函数都有一个prototype(显示原型)属性,属性值也是一个普通对象
console.log(fn.p文笔好的小说rototype); //显示原型
4.原型链
原型链是什么?
javascript万物都是对象,对象和对象之间也有关系,并不是孤立存在的。对象之间的继承关系,在javascript中是通过prototype对象指向父类对象,直到指向object对象为止,这样就形成了一个原型指向七巧节的链条,专业术语称之为原型链。
instanceof用于判断引用类型属于哪个构造函数的方法
f instanceof foo //判断f这个引用类型是否属于foo构造函数,判断逻辑:f的_proto_一层一层往上,能否对应到foo.prototype
判断一个变量是否为”数组”:变量名 instanceof array,如下代码:
var arr=[];arr instanceof array //truetypeof arr //object, typeof是无法判断是否是数组的
解题:
变量名 instanceof array
function n伤感ame(){ this.name=function(){ console.log("killua") }}function firstname(){ this.firstname=function(){ console.log("l") }}name.prototype = new firstname();var he = new name();he.name(); //"killua"he.firstname(); //"l"
封装dom查询的例子
function elem(id){ this.elem = document.getelementbyid(id)}elem.prototype.html = function(val){ var elem = this.elem if(val){ elem.innerhtml = val return恶人自有恶人磨 this //链式操作 }el{ return elem.innerhtml }}elem.prototype.on = function(type, fn){ var elem = this.elem elem.addeventlistener(type, fn) //addeventlistener() 方法用于向指定元素添加事件句柄}var p1 = new elem('p1')//console.log(p1.html())p1.html('
hello killua
‘).on(‘click’,function(){ alert(‘clicked’) }).html(‘
javascript
‘) r -p$slave_pass -e “stop slave” date=`date +%y%m%d` # todo mkdir -p $bck_dir $bin_dir/mysqldump –opt -u$db_ur -p$db_pass $db_name \ > $bck_dir/db1__$date.sql #start slave 开启主从 #$bin_dir/mysql -u$slave_ur -p$slave_pass -e “start slave” 删除前两天的备份 #!/bin/sh find /data/backup/mysqlbackup -mtime +1 -name “db1__*” -exec rm -f {} \; find /data/backup/mysqlbackup -mtime +1 -name “db2__*” -exec rm -f {} \;
本文发布于:2023-04-03 13:50:41,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/f1ef1918b2dbcf771b72cc71d43e7ab2.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:原型和原型链–构造函数.doc
本文 PDF 下载地址:原型和原型链–构造函数.pdf
留言与评论(共有 0 条评论) |