最近学习了一些有关web开发方面的基础知识,包括html,css,javascript等等。其中html曾经有过一些接触,而css及javascript只是听说过,为了
今后能更好的掌握和应用这些知识,在这里就此先做一个小小的总结回顾。
html部分
html(HyperText Mark-up Language)全称超文本标记语言,是用于编写网页的语言。如名字一样,它的作用超出了纯文本的范畴(可以进行改字体,
大小,颜色的改变等),所有的操作均由标签(标记)实现。对于html的语言规范可以概括为以下四点:
1. html程序以<html>开始</html>结束。
2. 中间由<head>和<body>组成。
3. html的代码不区分大小写,
4. 标签有开始就必须有结束,结束标签或标签内结束如</html>,<br/>**
以下是一个最基础的html规范的示例:
<!-- 这里为注释代码-->
<html>
<head>设置页面信息</head>
<body>显示到页面上的内容</body>
</html>
**html的操作思想**
网页中存在着各种各样的数据,这些数据都存在对应的标签中,对数据的处理就是通过修改标签属性来完成的,可以将标签理解为容器,对其中的数据
进行包装。
常用的标签有:
- 文字标签<font>
常用属性
color:颜色,值有英文单词(red,green 等),十六进制(#ffffff),RGB(255,0,0)等三种表示方式,
size:文字大小,取值范围1-7,如果设置大于7的值则依然是7的大小。
- 列表标签<dl>,<ol>,<ul>
定义列表
<dl> 定义列表的范围
<dt></dt>: 定义上层内容
<dd></dd>: 定义下层内容
</dl>:
有序列表
<ol>: 定义有序列表的范围
<li></li>: 封装具体的内容
</ol>
ol标签的属性type的值表示排序方式;
1(阿拉伯数字排序),a(字母形式),i(希腊数字排序)
无序列表
<ul> :定义无序列表的范围
<li></li>: 封装具体的内容
</ul>
- 图形标签<img/>
用于显示图片,常用属性:
src:图片的路径名
width:图片显示宽度
height:图片显示高度
border:图片的边框的粗细
alt: 显示在图片上面的文字内容(鼠标移到图片上显示的文字,部分浏览器支持)
- 超链接标签<a>
常用属性
href:链接到的地址(如果不想跳转,值可以为#)
target:代开新地址的方式 (“_self”——当前页面,“_blank”——新标签页)
- 表格标签<table>,<tr>,<td>
<table></table>定义表格范围
常用属性
border:设置表格线
bordercolor:设置表格线的颜色
cellspacing: 设置单元格之间的距离
cellpadding: 设置文字和单元格之间的距离
width: 设置表格的宽度
height:设置表格的高度
<tr></tr> 表示行
属性:
align——设置对其方式
<td></td> 表示一个单元格(没有包裹内容时,使用占位符nbsp;替代)
属性:
align——设置对其方式
rowspan——跨行
colspan——跨列
<th></th>表示具有居中和加粗效果的单元格
表格具体书写形式如下:
<table>
<tr>
<td>一个单元格中显示的内容</td>
<tr>
(PS:对于表格的操作,应先数行数,再数每行中的单元格个数)
- 表单标签<from>
表单是指将输入的数据提交到服务器上的过程
常用属性
action:提交的服务器的地址
method:表单的提交方式(有很多种,常见的是get和post)
- 输入项标签<input><select><textarea>
**(注:所有的输入项标签均应设置name属性值,没有设置的数据将不会提交出去,其中单选输入项和复选输入项在设置name时,同一组的name值必须相同。
另外单选输入项和复选输入项均需对每一项设置vlaues值)**
提供数据输入和选择的组件
大多都是使用<input>来封装和操作
格式为<input type="输入项类型"/>
属性type值有:
text——普通输入项
password——密码输入项
radio——单选输入项
checkbox——复选输入项
file——文件输入项
hidden——隐藏项
button——普通按钮
sumbmit——提交按钮,点击后表单会提交
reset——重置按钮,使表单输入项回到初始状态
image——图片提交,与src属性搭配使用,点击图片表单提交
非<input>封装的有两种
<select>——下拉选择输入项
<option>选项内容</option>
</select>
<textarea>——文本域
常用属性
cols 区域中能显示文本的列数
rows 能够显示的文本行数
- 其他标签
<pre>原样输出(空格和换行都能按照格式来,但内部如果存在标签,依然是作为标签显示效果)
<p>段落标签
<s>删除线
<u>下划线
<b>加粗
<i>斜体
<div>区块,带有换行的效果
<span>区块,在一行进行显示
个人感觉html的学习其实主要就是各个标签的使用,以上使一些比较常用的标签,关于更多标签的了解可以直接去w3c提供的文档中进行查阅学习
css部分
css是层叠样式表,使用它可以很方便的对html中各个部分的显示样式进行设置,实现网页内容与样式的分离,利于后期进行代码的维护。
css的代码格式规范:属性名称1:属性值1;属性名称2:属性值2;
由于css为html服务,需要与html结合使用。
结合的方式有四种,代码形式如下
<!--1、使用标签属性style,直接写css代码赋值给style-->
<div style="属性名称1:属性值1;属性名称2:属性值2;">
<!--2、使用html的标签<style>,在标签里写css代码-->
<style type="text/css">
div {
属性名称1:属性值1;
属性名称2:属性值2;
}
</style>
<!--3、使用html的标签<link>连接css文件,在css文件中写css代码-->
<link rel="stylesheet" type="text/css" href="1.css"/>
<!--4、使用html的标签<style>标签连接css文件,在css文件中写css代码-->
<style type="text/css">
@import url(1.css);
</style>
为了更灵活的使用css代码来对html进行不同部分的样式设置,css中有一个叫做选择器的概念。
常见的有id选择器,class选择器,使用方法是希望对哪个标签进行操作,就在那个标签上设置id属性值或class属性值,然后进行对应id和class的css代码
编写。,具体代码形式如下
<!--css文件里的代码格式示例-->
/*标签选择器*/
div{ /*作用于所有的<div>标签*/
属性名称1:属性值1;
属性名称2:属性值2;
}
/*id选择器*/
div#haha { /*作用于id值为haha的<div>标签*/
属性名称1:属性值1;
属性名称2:属性值2;
}
#haha { /*作用于所有id属性值为haha的标签*/
属性名称1:属性值1;
属性名称2:属性值2;
}
/*class选择器*/
div.hehe { /*作用于class值为hehe的<div>标签*/
属性名称1:属性值1;
属性名称2:属性值2;
}
.hehe { /*作用于所有class属性值为hehe的标签*/
属性名称1:属性值1;
属性名称2:属性值2;
}
选择器的优先级是
id选择器 > class选择器 > 标签选择器
即一个标签即在id选择器作用范围内又在class选择器作用范围内时,最终以id的样式为准
另外还有一些扩展的选择器,也可以了解一下,避免遇到的时候看不懂
/*关联选择器*/
div p { 作用于所有<div>标签下的<p>标签上
background-color:red;
}
/*组合选择器*/
div,p { 同时作用于所有<div>和<p>标签上
background-color:green;
}
/*伪元素选择器*/
例如超链接
状态:原始状态、鼠标放上去的状态、点击状态、点击之后的状态
:link :hover :active :visited
以上就是css的简单知识点及使用方法概述,如果想了解更多也可以去查阅w3c提供的帮助文档。
javascript
JavaScript是基于对象和事件驱动的脚本语言,应用于客户端(浏览器)。基于对象的意思是它里面直接提供好了一些对象,写代码时可以直接使用,而不是像java那样需要自己去创建。
JavaScript的组成部分
ECMAScript——ECMA组织制定的语句,语法。
BOM——broswer object model(浏览器对象模型)
DOM——document object model(文档对象模型)
通俗点就是语句语法(ECMA)及提供好的可直接使用的对象(BOM和DOM)。
JavaScript的三个特点
交互性
安全性——JavaScript不能访问本地硬盘里面的文件
跨平台性——只要有支持js的浏览器,就能运行。
Java和JavaScript区别
1、java由sun公司开发,现在属于oracle;JavaScript是由网景公司开发的
2、java是面向对象的语言,js是基于对象的语言
3、java跨平台需要依靠虚拟机实现,JavaScript只需要浏览器即可运行
4、JavaScript弱类型语言,定义变量全是一个关键字var,变量类型由赋予的值确定;而java则是严格按照定义时使用的关键字来确定其类型,所赋的值须与定义时一致。
5、java运行先编译通过虚拟机运行,JavaScript直接使用浏览器运行
总结就是,除了名字像基本没啥联系。
javascript与html的结合方式有两种
1、使用html中的标签 <script type="text/javascript"> js代码 </script>
2、使用html的标签,引入外部的js文件
<script type="text/javascript" src="js文件的路径"></script>
第二种是开发中常用的方式,将html与js分离,更便于阅读和修改。需要注意的是,使用了第二种方式,还在其后的标签内写js代码,这些代码不会执行,且第二种方式的结束标签不可省略。
js的原始类型一共有五个:
string(字符串),number(数字),boolean(布尔),
null(特殊的引用类型,表示对象引用为空)
undefined(定义了变量,但没有赋值)
js的引用类型和类型转换
**引用对象**
Object 对象:所有对象都由这个对象继承而来
Boolean 对象:Boolean 原始类型的引用类型
Number 对象: Number 原始类型的引用类型
**类型转换**
转换成字符串
转换成数字:parseInt() 和 parseFloat()
**强制类型转换**
Boolean(value) - 把给定的值转换成 Boolean 型;
Number(value) - 把给定的值转换成数字(可以是整数或浮点数);
String(value) - 把给定的值转换成字符串;
**js的数组**
js里面定义数组的方式
第一个:var arr1 = [];
第二个:var arr2 = ["10",10,true]; //可以写任意的类型
第三种:var arr3 = new Array(3);
表示定义数组名称是arr3,数组的长度是3
第四种:var arr4 = new Array(4,5,6);
表示定义数组名称是arr4,数组里面的值4 5 6
在js里面数组的长度可变的,值为最大的下标+1,如果没有赋值直接默认是空字符串
**js的运算符与java中不同的有**
一:js里面不区分整数和小数
比如 var a = 123/1000*1000,如果在java里面结果是 0
js里面的结果:123
二:字符串的相加和相减操作
字符串相加是字符串的拼接操作,字符串相减是真正的相减运算,如果字符串不是数字提示NaN
三:boolean类型相加和相减的操作
如果布尔类型值是true,把类型当成1运算;如果布尔类型值是false,把类型当成0运算
四:==和===区别
==比较的是值
**js中常用的对象**
string,Array,Math,Date,RegRxp(正则,bom对象(浏览器对象模型),关于对象的具体信息及方法,可以查阅w3c的文档
**js的全局变量和局部变量**
全局变量
在js里面,如果在一个script标签里面定义变量,在页面中的其他script标签里面都可以使用。(要注意上下顺序)
局部变量
在js的方法里面定义一个变量,这个变量只能在方法里面使用。
**js的全局函数**
不属于任何对象,可以直接使用
主要的函数如下
eval(): 把字符串当成js代码执行
** var str = "alert('123456');";
//alert(str);
eval(str);
isNaN() 检查某个值是否是数字
** 如果是数字返回 false,如果不是一个数字返回 true。
parseInt() 解析一个字符串并返回一个整数
** var str1 = "123";
alert(parseInt(str1)+1);
encodeURI() 把字符串编码为 URI
** var str2 = "abc测试中文";
var encodestr2 = encodeURI(str2);
document.write(str2);
document.write("<br/>");
document.write(encodestr2);
decodeURI() 解码某个编码的 URI
** var decodestr2 = decodeURI(encodestr2);
js自定义函数
在js里面定义函数有三种方式
第一种:使用关键字 function 方法名称(参数列表) { 方法体和返回值 }
*注意一:参数列表,不需要写类型(var),直接写参数名称
*注意二:返回值,根据实际需要可以有也可以没有
function test1() {
alert("123456");
}
第二种:匿名函数,使用关键字function(参数列表) { 方法体和返回值; }
var test1 = function(a,b) {
return a+b;
}
第三种:动态函数(方法体和返回值,包含参数列表都是通过参数传递进来的)
*使用js里面的内置对象 new Function("参数列表","方法体和返回值")
var param = "a,b";
var method = "var sum;sum=a+b;return sum;";
var test2 = new Function(param,method);
js的函数的重载
在js不存在重载,但可以使用js函数里面arguments数组模拟重载的效果(在js里面有一个数组arguments,保存传递进来的参数,使用这个数组即可模拟重载的效果)
function add1() {
//alert(arguments.length);
//遍历数组
/*for(var i=0;i<arguments.length;i++) {
alert(arguments[i]);
}*/
//模拟重载的效果(有几个参数,实现这几个参数的相加)
var sum = 0;
for(var i=0;i<arguments.length;i++) {
sum += arguments[i];
}
return sum;
}
//调用
alert(add1(1,2));
alert(add1(1,2,3));
alert(add1(1,2,3,4));
js的事件
使用时间的三种方式:
第一种:使用事件属性调用js方法
<input type="button" value="第一种方式" onclick="add1();"/>
第二种:首先得到要绑定的标签,在使用事件的属性
//第二种方式绑定事件
document.getElementById("buttonid").onclick = add1;
第三种:首先得到要绑定的标签,写js的代码
document.getElementById("buttonid1").onclick = function() {
alert("aaaaa");
};
js的常用的事件
(1)onload事件和onclick事件
onload:html页面在加载时候触发事件,调用响应的js方法
onclick:鼠标点击事件
(2)onfocus事件和onblur事件
onfocus:获取焦点
onblur:失去焦点
(3)onmouseover 鼠标被移到某元素之上
(4)onmouseout 鼠标从某元素移开
(5)onkeypress:点击键盘上面的某个键,调用方法
DHTML的简介
不是一种技术,是很多技术的简称。
*包含的技术:
** html:封装数据
** css:使用属性和属性值修改数据的样式
** ECMAScript:语句和语法
** DOM:对标记型文档进行操作
扩展
innerHTML属性
innerHTML属性不是dom里面属性
但使用起来很方便,可以获取标签里面的文本内容和向标签里面设置内容
json
(1)JavaScript Object Notation,JavaScript 对象表示法。json是数据的交换格式,比xml更加轻巧。
json是js的原生的格式,通过js操作json不需要依赖其他东西,直接对json格式进行操作。
(2)json数据格式
json有两种数据格式
第一种:json的对象的格式
*写法 {json数据的名称1:json数据的值1,json数据的名称2:json数据的值2.....}
** 类似于key-value形式
** 名称和值之间使用冒号隔开,多个值之间使用逗号隔开
** json数据的名称是字符串的类型,json数据的值 string, number, object, array, true, false, null
** 具体数据的格式 {"name":"zhangsan","age":20,"addr":"nanjing"}
第二种:json的数组的格式
*写法 [json对象1,json对象2........]
** 在数组里面有多个json对象,多个json对象之间使用逗号进行隔开
** 具体数据的格式 [{"name":"lucy","age":20},{"name":"mary","age":30}]
(3)可以使用json的这两种格式组成更加复杂json的格式
复杂的格式 {"name":[{"name":"zhangsan","addr":"beijing"},{"name":"lisi","addr":"tianjin"}]}
使用js对json解析时,直接使用json名字.name名字即可得到对应的value值。
以上就是对javascript的简要概述,更多的内容可以在w3c提供的文档中获取。
PS:再补充一个小知识点,html,css,javascript三种代码的注释格式分别是:
html注释
css注释/**/
js注释//或/**/