如何从零开始学习DIV+CSS

如何从零开始学习网页制作网站建设问答以及需要学习的软件_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
如何从零开始学习网页制作网站建设问答以及需要学习的软件
||文档简介
力思克工作室是集线上线下互联网技术培训教...|
总评分0.0|
&&新​手​、​零​基​础​、​小​白​、​菜​鸟​等​等​想​要​学​会​网​页​制​作​网​站​建​设​也​都​是​可​以​的​。​本​文​档​就​是​让​新​手​看​完​知​道​如​何​从​零​开​始​学​习​网​页​制​作​网​站​建​设​以​及​需​要​学​习​的​软​件​。​让​学​习​从​开​始​就​有​头​有​序​!
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩8页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢您所在的位置: &
从零开始学习jQuery之你必须知道的JavaScript
从零开始学习jQuery之你必须知道的JavaScript
本文是jQuery系列教程的剧场版, 即和jQuery这条主线无关, 主要介绍大家平时会忽略的一些javascript细节. 适合希望巩固javascript理论知识和基础知识的开发人员阅读.
最近面试过一些人, 发现即使经验丰富的开发人员, 对于一些基础的理论和细节也常常会模糊. 写本文是因为就我自己而言第一次学习下面的内容时发现自己确实有所收获和感悟. 其实我们容易忽视的javascript的细节还有更多, 本文仅是冰山一角. 希望大家都能通过本文有所斩获.
一. Javascript面向对象
Javascript是一门面向对象的语言, 虽然很多书上都有讲解,但还是有很多初级开发者不了解.
ps: 以前写过一篇详细的创建对象的文章(原型方法, 工厂方法等)但是找不到了, 回头如果还能找到我再添加进来.下面仅仅简单介绍.
在C#里我们使用new关键字创建对象, 在javascript中也可以使用new关键字:var&objectA&=&new&Object();&
但是实际上"new"可以省略:var&objectA&=&Object();&
但是我建议为了保持语法一直, 总是带着new关键字声明一个对象.
创建属性并赋值
在javascript中属性不需要声明, 在赋值时即自动创建:objectA.name&=&"my&name";&
一般我们使用"."来分层次的访问对象的属性:alert(objectA.name);&
对象的属性同样可以是任何javascript对象:var&objectB&=&objectA; &objectB.other&=&objectA; &&objectA. &objectB. &objectB.other.&
如果objectA上有一个属性名称为"school.college", 那么我们没法通过"."访问,因为"objectA.school.college"语句是指寻找objectA的school属性对象的college属性.
这种情况我们需要通过索引设置和访问属性:objectA["school.college"]&=&"BITI"; &alert(objectA["school.college"]);&
下面几个语句是等效的:objectA["school.college"]&=&"BITI"; &&var&key&=&"school.college"&alert(objectA["school.college"]); &alert(objectA["school"&+&"."&+&"college"]);&&&&&&&& &alert(objectA[key]);&
JSON 格式语法
JSON是指Javascript Object Notation, 即Javascript对象表示法.
我们可以用下面的语句声明一个对象,同时创建属性:&&&&&&&&&var&objectA&=&{ &&&&&&&&&&&&&name:&"myName", &&&&&&&&&&&&&age:&19, &&&&&&&&&&&&&school: &&&&&&&&&&&&&{ &&&&&&&&&&&&&&&&&college:&"大学", &&&&&&&&&&&&&&&&&"high&school":&"高中"& &&&&&&&&&&&&&}, &&&&&&&&&&&&&like:["睡觉","C#","还是睡觉"] &&&&&&&&&}&
JSON的语法格式是使用"{"和"}"表示一个对象, 使用"属性名称:值"的格式来创建属性, 多个属性用","隔开.
上例中school属性又是一个对象. like属性是一个数组. 使用JSON格式的字符串创建完对象后, 就可以用"."或者索引的形式访问属性:objectA.school["high&school"]; &objectA.like[1];&
静态方法与实例方法
静态方法是指不需要声明类的实例就可以使用的方法.
实例方法是指必须要先使用"new"关键字声明一个类的实例, 然后才可以通过此实例访问的方法.function&staticClass()&{&};&&&&&staticClass.staticMethod&=&function()&{&alert("static&method")&};&&&&&staticClass.prototype.instanceMethod&=&function()&{&"instance&method"&};&&
上面首先声明了一个类staticClass, 接着为其添加了一个静态方法staticMethod 和一个动态方法instanceMethod. 区别就在于添加动态方法要使用prototype原型属性.
对于静态方法可以直接调用:staticClass.staticMethod();&
但是动态方法不能直接调用:staticClass.instanceMethod();&&
需要首先实例化后才能调用:var&instance&=&new&staticClass();&instance.instanceMethod();&&
二. 全局对象是window属性
通常我们在
然而我们还应该知道, 实际上全局变量objectA是创建在window对象上, 可以通过window对象访问到:window.objectA&
三. 函数究竟是什么
我们都知道如何创建一个全局函数以及如何调用:function&myMethod() &{ &alert("Hello!"); &} &&myMethod();&&
其实同全局对象一样, 使用function关键字创建的方法(也可以创建类)的名称, 实际上是为window对象创建了myMethod属性, 并且值是一个匿名方法, 上面的语句等同于:window.myMethod&=&function() &{ &alert("Hello!"); &}&
无论使用哪种方式声明, 实际保存时都是使用函数名创建window对象的属性. 并且值只有函数体没有函数名称.
所以,下面三种声明方式是等效的:function&myMethod() &{ &alert("Hello!"); &} &window.myMethod&=&function() &{ &alert("Hello!"); &} &myMethod&=&function() &{ &alert("Hello!"); &}&
四. "this"究竟是什么
在C#中,this变量通常指类的当前实例. 在javascript则不同, javascript中的"this"是函数上下文,不是由声明决定,而是由如何调用决定.因为全局函数其实就是window的属性, 所以在顶层调用全局函数时的this是指window对象.
下面的例子可以很好的说明这一切:var&o1&=&{&name:&"o1&name"&}; &&&&&&&&&window.name&=&"window&name"; &&&&&&&&&&function&showName() &&&&&&&&&{ &&&&&&&&&&&&&alert(this.name); &&&&&&&&&}&&&&&&&& &&&&&&&&& &&&&&&&&&o1.show&=&showN &&&&&&&&&window.show&=&showN &&&&&&&&&&showName(); &&&&&&&&&o1.show(); &&&&&&&&&window.show();&
结果证明在顶层调用函数和使用window对象调用函数时, this都指向window对象. 而在对象中调用函数时this指向当前对象.
五. javascript中的闭包
闭包的概念比较难以理解, 先看闭包的定义:
闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。
闭包就是function实例以及执行function实例时来自环境的变量.
先看下面的例子:&!DOCTYPE&html&PUBLIC&"-//W3C//DTD&XHTML&1.0&Transitional//EN"&"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"& &&html&xmlns="http://www.w3.org/1999/xhtml"& &&head& &&&&&&title&&/title& &&/head& &&body& &&&&&&div&id="divResult"&&/div& &&&&&&script&type="text/javascript"& &&&&&&&&&function&start() &&&&&&&&&{ &&&&&&&&&&&&&var&count&=&0; &&&&&&&&&&&&&window.setInterval(function() &&&&&&&&&&&&&{ &&&&&&&&&&&&&&&&&document.getElementById("divResult").innerHTML&+=&count&+&"&br/&"; &&&&&&&&&&&&&&&&&count++; &&&&&&&&&&&&&},&3000); &&&&&&&&&}; &&&&&&&&&start(); &&&&&&/script& &&/body& &&/html&&
count是start函数体内的变量, 通常我们理解count的作用于是在start()函数内, 在调用start()函数结束后应该也会消失.但是此示例的结果是count变量会一直存在,并且每次被加1:
因为count变量是setInterval中创建的匿名函数(就是包含count++的函数)的闭包的一部分!
再通俗的讲, 闭包首先就是函数本身, 比如上面这个匿名函数本身, 同时加上在这个函数运行时需要用到的count变量.
javascript中的闭包是隐式的创建的, 而不像其他支持闭包的语言那样需要显式创建. 我们在C#语言中很少碰到是因为C#中无法在方法中再次声明方法. 而在一个方法中调用另一个方法通常使用参数传递数据.
【编辑推荐】
【责任编辑: TEL:(010)】
关于&&的更多文章
又是一周匆匆而过。上周五、周六两天,2013年51CTO云计算架构师
/art/962.htm
MongoDB的转变也正是10gen的转变,Dwight Merriman在
在过去的近十年的时间里,面向对象编程大行其道。以至
很久很久以前,冬天爱上了夏天,可是他们始终不能相见
本书是程序员面试宝典系列中的一册,也是上一本《程序员面试宝典》的姊妹书。本书对程序设计面试中Java常见的题型和常用解答技巧
51CTO旗下网站

我要回帖

 

随机推荐