面向对象的认识—-新生的初识

客串:屌丝的坑人表单神器

         
 玩了几许天,玩的首肯累了,每一日打dota,打cf,和三弟六人开黑,然后老是被杀,弄得英雄1200的上马积分被自己刷到了1分,看来我的确不是玩游戏这块料,算了,算了,看点书呢,大家新年快乐。

度过的这多少个事情:数据库这一点事儿

           7.1BOM之源—window对象

推荐:手把手教你做关键词匹配项目(搜索引擎)—-
第一天

           基础知识:BOM是(Browser Object
Model–浏览器对象模型),由于浏览器是javascript程序的宿主,所以window对象,以及有它发出的对象都称之为宿主对象,它们包括(document,location,navigator,event,history,screen等)。

最新:手把手教你做关键词匹配项目(搜索引擎)—-
第十八天

         
 如若看过自己前边的作品的话,肯定会记得一个打印机的机能,它就是用setInterval()和clearInterval()—-定时器,还有set提姆(Tim)eout()和clearTimeout()方法实现延迟调用,用这两对章程的时候注意估量一下函数执行时间,假使调用的函数执行的岁月超过间隔期就会造成不可预知的题目。

探讨:探索负载均衡

           基本的互相操作:

吐槽:近年来新浪老大总是质疑我的作品,把我用来作育的篇章全部看作内容上不够深切,对分享的知识点紧缺丰裕的文字讲解,每份小说都是一个多时辰的结晶就被批判成这么,看样子确实值得要深思,把各样点写透写清楚,不给读者一个思维的火候。

           1.
警告对话框—-alert(msg);–那些没啥好说的呢,总应该都会的吧

近年觉得温馨更为像老师,天天都要讲3-4小时的扶植课程,我就跟她们心旷神怡说,你看我讲课讲得这样累,好歹也送瓶水给自家喝,我们都笑了,公司缺心,缺粮,最不缺的就是水了。

           2.
确认对话框—-confirm(msg);–弹出音讯指示框,有是否选取,该形式重临true就是“是”,false就是“否”。

不久前在跟知乎的棍子们纠结,所以这份手教你做首要词匹配项目(搜索引擎)更新会相对慢点。

           3.
指示输入音讯对话框—prompt(msg,[input]);–该措施的重回值是一个整数或者一个字符串,表示用户输入的音讯。(用的挺少的)

归来正文:
自己一说到类,童鞋们的反射就是包装、继承和多态。我当然不反对大家是如此的感应,我连续说到,这么些太难了,我有点不太懂,能不可能给个简单的艺术来比喻他。
童鞋们:…..(心里估量在骂我,就一装B货)
自身只能继续说到:我们这样五人在这儿,我们统称人叫什么…..是不是全人类?
世家这一次的反射很打动,回答到:是。
自家指着桌子说到,这这些案子的统称叫……?
童鞋们回得也快:桌子类…..家具…..四角桌类。
理所当然我都尚未否认他们的说法。
然后我指着风扇说到,那这一个风扇的统称叫……?
童鞋们答疑到:风扇类、电器类…能想到的基本都说出去了。
我说道,好了,我们该做总括的时候了。

           4. 增高的交互式对话框—showModalDialog(sURL[,
vArguments])—很强大,可以参见那篇著作JS中showModalDialog
详细使用
,个人感觉现在那种情势用的挺少的,貌似记得好像有注入风险,只是有那么个印象,也不领会对不对,反正自己是不太用的

类:一类东西的统称或者分类。

           5.
我要好的办法:在[原创]银行MIS系统前台开发总括(3)-dataTable控件应用2中也有利用,其实很简短,可是凭借了easyui这么些控件,其他控件也有接近的艺术,看一下底下的代码:

那么我们在处理器里面咋样表示人类。
童鞋们快捷就写出了

<div id="addRowDialog" title="信息编辑" closed='true'  class="dialog">
<!--
 //这里面写文档
 -->
</div>
//如果需要使用,就用下面的一段,就可以弹出对话框了,个人感觉很棒。
$('#addRowDialog').dialog('open');
class Person {
}

         
window.open—打开新窗口,window.close关闭当前窗口,window.focus使窗口获取关节。

这我就持续说了,人都有眼睛,手,嘴巴。

           7.2 BOM基本使用—管理浏览历史、解析地址和取得浏览器信息

拥有的童鞋们都算得类的特性。我见状有个童鞋在思考,我就问她,童鞋你在想什么?神游了。

               1.
history(历史)对象指浏览器的浏览历史,使用该目的的不二法门和性质,就足以自定义前进和退化功效,具体能够使用以下多少个:

他弱弱的答疑到:我在想……眼睛是不是也是个类。
以此我要预留读者去思维了,那不会知乎的棒子们批我了啊。
连续的对话跳过……

                       
back()–代表后退,语法格式为history.back([num]),参数num可选,要是没有参数,则默认倒退一步。


下一场自己继续说:人是不是足以进食?
童鞋们很happy的说,
那是类的措施或者作为
小小童鞋们很兴奋丫,然后自己就写了个类,专门来处理吃饭的题目(php 版本):

                        forward()–表示发展,该措施没有参数

Class Person {
    private $eyes;
    private $hand;
    private $mouse;

    public function eat(){
          #手使用筷子
          $this->hand->use($chopsticks);
          #筷子夹起食物
          $chopsticks->Pickup($food);
          #食物放进嘴巴
          $food->Putin($this->mouse);
           #……
     }
}            

                       
go()–跳转到一个特定的地点,语法格式为history.go([location]);参数location可以是整数要么是URL字符串,正数是提升,负数时后
                           
 退,0意味着刷新当前页,与location.reload()等效。

 

               2.
location对象–很重点的一个目的,使用console.log(window.location);就会博得下面的一密密麻麻新闻:

自己就问我们,这段代码有没有题目。童鞋们很放心的说到没问题(估算对自身相比看重,认为自己写的代码肯定是不易的)。

图片 1

本人反问了豪门:筷子能夹起食品呢,它能夹起是何人的功劳?
童鞋们发现气氛窘迫,颤抖的对答到:人的手。

             
 接下来你就足以由此location.获取各个属性,location.XXX()获取各样艺术。

接下来自己又反问了我们:食物能放进嘴巴吗,它能放进嘴巴是何人的功劳?
童鞋们越发现气氛窘迫,越没信心的对答到:人的手。

             3.navigator对象
,使用console.log(window.navigator);查看一些此类的各类艺术和属性,然后需要的话调用就行了。一般用来检测浏览器的。

说到底的代码成了如此:

     7.3 客户端数据存储技术

<?php

class Person
{
    private $eyes;
    private $hand;
    private $mouse;

    public function eat()
    {
        #手使用筷子
        $this->hand->use($chopsticks);
        #手用筷子夹起食物
        $this->hand->Pickup($food);
        #手把食物放进嘴巴
        $this->hand->Putin($this->mouse);
        #……
    }
}

class Hand
{
    private $chopsticks;
    private $food;

    public function use($chopsticks){
        $this->chopsticks = $chopsticks;
    }

    public function pickup($food)
    {
        if ($this->hasChopsticks()) {
            $this->food = $food;
        } else
            throw new Exception(“你还没有装备筷子”);
    }

    public function Putin($mouse)
    {
        If ($mouse->isFull()) {
            Throw new Exception(“嘴巴里面的东西塞满了,不能再塞了”);
        }
        If ($this->hasFood()) {
            Throw new Exception(“手上没食物,请先拿食物”);
        }
        $mouse->add($this->food);
    }
}

           
  
Web存储机制是一种通过字符串形式的key/value对来安全地囤积和动用数据的法子。

 

             1. 本土存储–localStorage,没有时间范围的数据存储。

自家就跟她们说:在写方法的时候,多想想这件事是不是她应该做的事情。

                
使用至极简单,依照名值对的样式得到和赋值,如下代码:    

本身瞄了一眼,上次这位童鞋又在动脑筋,臆想前几日的dota或者lol没打过不甘心。
我看不下去了,我在这时候夸夸奇谈,他在这时梦游。
自家就特别问了下她,童鞋你有什么样高见?
这位童鞋就讲了,我在想….就这位xx同事
写代码类里面对各种参数都进展检测,他是不是有点恐惧症,生怕人家传的参数是不当的,我的情致就是想说,几时需要对参数的完整性做校验,是否还有更好的方案来做这多少个校验问题?

 var oStorage = window.localStorage;
oStorage.userName = "tonylp";

尼玛,坑爹丫,突然来个好复杂的问题,思想飘得好远,佩服。
自我的回复是:后续的对话跳过……读者自行领悟,或者特别开个学科来讲课这一个,这尼玛又不得不再坑下那一个果壳网的大棒们。
事实上当时自家是回答了这位童鞋的….

 

类就告一段路了,大家继承讲下边的课程.
我就在白板下面写了那一个

           
  
假设是用chorme浏览器的话,按一下f12,在Resources下的Local
Storage下就足以看看乐乎下博文临时存储key为DraftBody,里面储存的value值为著作临时音信,key为DraftTitle,里面储存的是博文title。(我指的是你用网页编译器发表博文)。

Person->eat();

               
还有一个浏览器兼容问题,较早版本的Fire福克斯(Fox)没有兑现localStorage,但它提供了globalStorage属性用于为指定域创制本地存储区域。如下代码实现兼容:

下边的童鞋登时尖叫起来了,这是一无是处的,无法用,要求纠正。

var StrDomain = "host.yourDomain"   //指定当前域
var oStorage = window.localStorage?window.localStorage:window.globalStorage[strDomain];

纠正之后的代码是这样的

 

$person1 = new Person();
$person1->eat();

            2. 会话存储–sessionStorage,针对一个会话期的数目存储。

自我也同等问到咱们,这样写为何是大错特错的,要new一个出来才能用,这么些new到底是怎么样啊?

               
 
sessionStorage针对一个Session实行数量存储,当用户关闭浏览器窗口后,数据会被删除。用法与localStorage相同,可以用户提交表单错误时回升有效数据。

下边的童鞋说到:从未有过实例化,不可能用eat,new就是为了实例化一个对象
这就是说这多少个将要说到对象这些定义了。

           3. Storage接口–HTML
5规定window.sessionStorage和window.localStorage属性重回的数据类型都是Storage

对象是类的实业,一个毋庸置疑的实体。

               setItem(key,value)–设置key和value值

叩问到了目的,那么自己继续问到:假若李四在吃饭,那么张三也在进食呢?
童鞋们答疑到:不必然。

               getItem(key)–通过key获取value值

对象期间是互相独立的。

               removeItem(key)–删除value值

叩问了这般多的定义,童鞋们对类的打听够深入的了,唯有理论知识,哪能架起桥梁。那么哪些找出类是她们迫切希望的技巧。

               oStorage.clear()–清除所有key/value对

要想更多的垂询后续的学识,请关注:面向对象的认识—怎么样找出类

               oStorage.key(index)–获取key值。

背后继续请关注:面向对象的番外—-思想的梦游篇

             3. Web SQL Database

               
 
(1)使用window对象的window.openDatabase()方法能够再网页内成立和接纳Web
SQL Database。

                 (2)执行SQL操作:

                         
 1)Database.transaction(callback[,errorCallback[,
successCallback]]);允许实施读写操作

                         
 2) Database.readTransaction(callback[,errorCallback[,
successCallback]]);仅同意实施读操作

                             
参数callback定义一个东西操作要实践的回调函数,该函数内执行的SQL操作都是东西的,要么全部中标,要么全体战败。

                             
参数errorCallback可选,定义一个事物操作战败时要推行的回调函数,需要一个参数,参数是SQLError对象。

                             
参数successCallback可选,定义一个事物操作成功时要推行的回调函数,该回调函数没有参数。

                 (3) 执行SQL语句:

                           
SQLTransaction对象定义了executeSql()方法用于实践SQL操作,语法格式:

                           
oSQLTranscation.executeSql(sqlStatement[,arguments[,callback[,errorCallback]]]);

        7.4 新的服务器通信技术

                 
 
简单的讲一下服务器通信技术,假如急需详细了然仍然去看找专门的书吗,我和学友参预的一个html5支出大赛就是运用了web
Socket来促成远程桌面监控。

                 
 HTTP协议是“请求/响应”模型,现在的通信格局为主都是这序列型,为了打破HTTP协议的限制,HTML5业内定义了Server-Sent
伊夫(Eve)nt和Web Socket,援助服务器将数据“推送”到客户端浏览器。        

                   1. 服务器推送技术使用事件来兑现(Server-sent
伊夫nt),客户端接纳伊芙ntSource对象实现。

source = new EventSource(url);
source.onopen = function(event){

};
source.onmessage = function(event){

};
source.onerror = function(event){

};

 

                   2.Web
Socket可使客户端Web应用程序与服务端进程实现双向通信。

socket= new WebSocket(url);
socket.onopen = function(event){

};
socket.onmessage = function(event){

};
socket.onerror = function(event){

};

 

             
好了,就那一个呢,看书然后统计也就那一个事物,接下去就该起来DOM篇了。书也看了大体上多了。

             
以上所有都属个人辛勤奋苦总括,请我们转载的时候附上原创链接: http://www.cnblogs.com/tonylp

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website