一、css和js

认真!看清哪个函数哪个参数是否带引号!不要忘了写分号!

概览

  • css
    选择器
    布局
  • JavaScript
    语法
    对象和API
    BOM 浏览器对象模型
    DOM 文档对象模式

1、css和HTML的四种结合方式

  • 第一种是最基本的,直接在html标签中用style定义。
  • 在head标签中定义一个style标签,在style中写div{。。。}
  • 引入外部文件:@import url(“ ”)-->升级版:将所有外部css路径放入新的css文件中(称为管理文件),在html中引用该新的外部文件;好处:以后再添加css直接加在管理css文件中就可。
  • link。。。
    属性必须写到style内部,因为style是css的解析器,放其他地方无法解析。

2、css优先级和规范

3、CSS选择器

基本选择器+扩展选择器

  • 基本选择器
    • 标签名选择器
      div{ } 、span{ }
    • 类选择器---标签中的class属性名称自己可以随意定义。
      .class的名称
    • ID选择器
      格式:#id名称---功能与类选择器类似,一般给js语言使用。

ps:①标签名选择器可和类选择器搭配着用,如 div 。 haha{ }----仅div标签中的haha class起作用;
。haha h1{ } ---haha class下的h1标签起作用。
②优先级:标签名选择器<类选择器<ID选择器<style属性

  • 扩展选择器



    伪元素选择器:最基本的动态效果

  • 关联选择器
    div font{ } div标签下的font起作用。


  • 组合选择器
    如: #haha,.hehe{ } 中间用逗号分隔,两者效果相同,相当于#haha{ } + .hehe{ }
  • 伪元素选择器
    用于实现一些最基本的动态效果,html中已定义好,可以直接用。如
    • 输入伪元素选择器-input:FOCUS{ background-color:red}//当把光标点到该输入框时,输入框北京会变为红色。
    • 超链接伪元素选择器 a,使用顺序:LVHA-link、visited、hover、active
      a:link{text-decoration:noe;//无下划线 color:blue;}
      a:hover{ color:red;font-size:25px;}鼠标悬停时变红且字体变为25px。
      具体样式可以自己设置。

4、css的布局:即用css+div进行布局

div是块级元素,每个div后都会跟一个换行;span则不会,多个span会在一个行。如:


  • 可以在id中定义float:left、right,表示某个div会浮动在左侧或右侧。
    如div1为float:left,则:
    ①div2会被漂浮的div1覆盖
    ②仅当div为float时,其中的文字才会跟着一起浮动,若是因其他div的浮动产生补位,文字会在原位置不动。
    ③若三个均为float:left,则会在第一排按顺序出现。
  • 可给div指定绝对位置

JavaScript

1、JavaScript概述


弱类型:在内存中声明了一种类型后,还可以存放其它类型,如int a=10;a=“ss”;即弱类型。
JavaScript的组成:
ECAMScript 标准(js的语法,函数,变量)
BOM
DOM

2、js和HTML结合的两种方式

  • script标签,可以放在任意位置。
    <script type="text/javascript">...<script>
  • 引入外部js文件的方式。
    <script src="引入的js文件" type="text/javascript"></script>

ps:<script>标签可以放在任意位置,推荐放在body后。因有可能js文件中会引用其他标签的内容,当被引用的内容在<script>之后时可能会出错。

3、js语法


(1)

  • 关键字---var 声明变量
  • 标示符---和java一样
  • 注释--和java一样
  • 变量---- 声明变量,只使用一个关键字 var num = 12; var str = "abc";
  • 5种基本数据类型
    • Undefined、Null、Boolean、Number 和 String
    • String 字符串类型
    • js中双引号和单引号都代表的是字符串
    • Number 数字类型- 【不区分整数和小数】
    • Boolean 布尔类型
    • Null 空,给引用赋值的
    • Undefined 未定义(声明变量,没有赋值)
  • typeof() 判断当前变量是什么类型的数据

(2)运算符

  • 算术运算符
    • 0或者null是false,非0或者非null是true,默认用1表示。true和false可参加运算。
      var num = 3710;
      alert(num/1000*1000);=3710 不区分整数和小数
  • 赋值运算符: 和java是一样的
  • 比较运算符
    == 比较值是否相同
    === 比较值和类型是否相同
  • 逻辑运算符-- 和java中一样
  • 三元运算符-----条件?值1:值2

(3)语句
if、else、for等与Java中一样
可以向叶面输出文本内容:document.write(“文本内容”);文本内容可以使html代码(也要放在引号内)。每向页面输出一个i=*就换一次行:

(4) js数组

  • js的数组:区别于java中: java String [] str = {};

(5) js函数+变量

  • function 方法名称(参数列表) {
    方法体;
    return;
    }
    参数列表:不能使用var关键字
    返回值:可写可不写的,如果有写返回值,如果没有,返回值可以省略不写。

  • 动态函数和匿名函数

    • 动态函数
      Function (“参数列表”,“方法体”);如:
    • 匿名函数
      function(参数){ };分号!!既没有函数名
  • 全局变量、局部变量
    全局:在<script>标签内部定义的变量。
    局部:在函数的内部定义的变量,不管是在函数参数列表还是方法体中定义的。ps:即便该函数在<script>中,也是局部变量。

4、js中的对象

String、Date、Math、Array、正则表达式等对象
参考地址:http://www.runoob.com/jsref/jsref-tutorial.html

  • String对象


Paste_Image.png

所有方法调用时不要忘记用对象来调用!!!
和java中String对象类似的:

和HTML相关的方法(书写没有提示的):

  • Array对象
    声明数组的两种方式
    var arr = [12,33];
    var arr = new Array(4,4);



    ps:concat连接的可以使数组和数组,也可以使数组和元素。

  • Date日期对象----仅列举部分方法,详细定义或方法可去文档查看。
    var date = new Date(); 当前的日期
    toLocaleString() 转换本地的日期格式
    toLocaleDateString() 只包含日期
    toLocaleTimeString() 只包含时间
    getDate() 返回一个月中的某一天(1-31)
    getDay() 返回一周中的某一天(0-6)
    getMonth() 返回月份(0-11) +1
    getFullYear() 返回年份
    getTime() 返回毫秒数
    setTime() 通过毫秒数获取日期
    parse(str) 解析字符串,返回毫秒数---静态方法!
    Date.parse(str);
    str:
    2014-11-14 解析不了
    11/14/2014 可以解析
    2014,11,14 可以解析

  • Math对象(静态的方法)--Math.round(x)

    • ceil(x) 上舍入
    • floor(x) 下舍入
    • round(x) 四舍五入
    • random() 0-1的随机数
  • RegExp对象
    应用:编写注册的表单,对表单输入的内容进行校验。
    var reg = new RegExp("表达式");(开发中不经常使用)
    var reg = /表达式/ 开发中经常使用
    ** var reg = /^表达式$/ 开发中经常使用。/^表示开始,$/结束**
    ** 校验:**
    exec(string) 不经常使用
    如果匹配,返回匹配的结果
    ** test(string) 经常使用**
    如果匹配,返回是true,如果不匹配,返回是false
    if(reg.test("abc")){
    // 匹配上了
    }else{
    }

  • 全局函数
    使用全局函数,不需要任何的对象。
    全局函数可以拿过来使用。
    global帮着管理全局函数。

    • eval() 可以解析字符串,执行字符串中间的js代码,如
      <script type="text/javascript"> var str = "alert('哈哈')"; eval(str);</script>
      注意,哈哈是用单引号括起来的。
    • isNaN() 判断是否是非数字值
    • parseInt() 解析字符串,返回整数
    • encodeURI() 进行编码--针对中文
    • decodeURI() 解析解码
    • encodeURIComponent()
    • decodeURIComponent()
    • escape()
    • unescape()

5、BOM对象--浏览器对象模型,每个对象都有自己的方法、属性。

Window-Navigator-Screen-History-Location

  • 事件:onclick,点击事件,可以加在某个按钮上,按钮被点击时调用该方法。



  • Window 窗口对象(重要):属性和方法
    * alert() 弹出提示框
    * confirm("参数") 询问框
    * 提供俩按钮,确定和取消
    * 如果点击是确定,返回true,如果点击取消,返回false

              * moveBy()          移动浏览器
                  
              * setInterval("函数",毫秒值)     定时相关的
                  * 每隔毫秒值执行一次函数
                  * 返回唯一的id值
                  
              * setTimeout("函数",毫秒值)      
                  * 到了毫秒值后执行一次函数
                  * 返回唯一的id值
                  
              * 清除定时
                  clearInterval(id的值)     
                  clearTimeout()
                  
              * close()   关闭浏览器的窗口,用window(表示当前窗口)调用
              * open()    打开浏览器窗口
              
              * 属性:
                  * opener 返回对创建此窗口的窗口的引用,即返回源窗口。 
                  * win  open()   弹出baidu的窗口
                      
                      在baidu窗口中  baidu.opener 得到了win的引用。
    
    • document属性:
      document.getElementById("nameId"); 获取到是input标签的对象,然后我们可以通过该对象给该标签做重新赋值等操作:


  • Navigator 和浏览器版本相关的对象(**)

    • userAgent 获取浏览器的相关的信息
    • window.navigator.userAgent window可以省略不写
  • Screen: 和屏幕相关的对象(-*)

  • History 和浏览器历史相关
    back()返回上一个页面
    forward()去下一个页面

    • 可以用go(代替)
      • history.go(1) 等于forward
      • history.go(-1) 等于forward
  • Location 和浏览器地址相关的对象,调用时用小写调用,location,以上几个对象也是。
    href属性:获取和设置浏览器的路径,也可以自己赋值为其他地址,然后点击某按钮时会调用方法,跳到其他网址。
    <body><input type="button" value="1号" onclick="run()"/></body><script type="text/javascript"> function run () { alert(location.href="http://www.baidu.com"); }</script></html>

  • 案例:图片移动
    onload=“方法” ,作用在<body>标签中,可以在一打开页面时就调用onload的方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容

  • * CSS* CSS的简介* 层叠样式表。* CSS与HTML的结合(4种)* HTML的标签提供了属性style...
    狠哇塞的小伙子啊阅读 384评论 0 1
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,727评论 2 17
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,737评论 1 92
  • 好运_2888阅读 426评论 0 1
  • 这两天真是累到死 累到迷茫 这会儿的感觉只有一个字 困
    文末儿阅读 145评论 0 0