JS新手入门

页面有三部分组成

  • HTML:超文本标记语言。
  • CSS:层叠样式表。
  • JS:轻量级的脚本语言。

JS由三部分组成

  • ECMAscript:JS的语法,包含变量,循环,条件判断,数据类型等等等等,没有兼容性问题;
  • DOM 全称:Document object model 文档对象类型,会
    出现很多兼容性问题,程序员可以解决。
  • BOM 全称:browser object model 浏览器对象类型,不兼容,不能解决。

常用的快捷键

  • 强制换行 ctrl+enter;
  • webstrom中快速打出代码
    • ul>li>p*2+Tab
  • 把代码收缩展开
    • ctrl+“+”展开;
    • ctrl+“-”收缩;

css引入的三种方式

  • 行内式:style="";
  • 内嵌式:<style></style>
  • 外链式:<link href="" rel="stylesheet" type="text/css">

js引入的三种方式

  • 行内式:onclick="alert('1234')" 点击事件。onmouseover鼠标移入显示
  • 内嵌式:<script></script>
  • 外链式:<script src="...js"></script>

js的编程思路

  • 1.找到谁
  • 2.给某某加什么事件
  • 3.干什么事

作业

css题

左边容器的宽度固定为200px,右边容器自适应,请用三种方法?

  • 1.左边用浮动,右边用margin-left:200px;
  • 2.左边用绝对定位,右边用margin-left:200px;
  • 3.两边都用浮动,父级clear:both;清除浮动;

只有一个按钮,点击该按钮,div显示,再点击改按钮,div隐藏;

<script>
    var oBt=document.getElementById('bt');
    var oDiv=document.getElementById('div');
    oBt.onclick=function () {
        if (oDiv.style.display=='block'){
            oDiv.style.display='none';
        }
        else
        {
            oDiv.style.display='block';
        }
    }
</script>
    oBt.onclick = function () {
        switch (oDiv.style.display) {
            case 'block':
                oDiv.style.display = 'none';
                break;
            default:
                oDiv.style.display = 'block';
                break;
        }
    }
   var oBt = document.getElementById('bt');
    var oDiv = document.getElementById('div');
    var bOk = true;
 oBtn.style.display{
     if(bOk){
         oDiv.style.display='none';
     }
     else{
         oDiv.style.display='block';
     }
     bOk=!bOk;
 }
   var oBt = document.getElementById('bt');
    var oDiv = document.getElementById('div');
    var bOk = true;
 oBt.onclick=function () {
        if(bOk){
            oDiv.style.display='none';
        }
        else {
            oDiv.style.display='block';
        }
        bOk=!bOk;
    };

对象具有两个特征

  • 1.属性
  • 2.方法
    属性和方法的区别:属性没有括号,方法有括号;

this小结

  • 当函数被调用的时候,看前边是否有“·”,点前边是谁,this就是指谁;
  • 当函数被调用的时候,如果前边没有点,说明被window调用,this就是值window;
  • 当元素身上的事件被触发的时候,会执行一个函数,函数中的this指向当前被触发事件的这个元素;

例如:oDiv.onclick=function(){}
中this就是指oDiv。

输出方式(帮助调试和测试代码)

  • alert() 弹出框;
  • confirm() 会有返回值,true,false;
  • console.log() 打印出来,在控制台上输出;
  • console.dir() 打印出来,在控制台上输出对象的属性和方法,既输出对象的详细信息;
  • document.write() 在页面上输出信息;
  • innerHTML输出元素包含的内容
  • innerText 输出文本
  • consle.table() 在控制台上让对象以表格的形式输出;

命名规范

匈牙利命名法也叫作驼峰式命名法

  • 除了第一个单词外,从第二个起,每个单词的首字母大写;
  • 常用的命名前缀
    • a 数组
    • o 对象
    • s 字符串
    • n 数字
    • b布尔值

数据类型:

  • 基本数据类型
    • 字符串 string ,数据 number,布尔值 Boolean,null,undefined
  • 引用数据类型
    • 对象数据类型
      • 普通的对象 object,数组 array,date
    • 函数数据类型
      • function(){}
  • 基本数据类型和引用数据类型的区别
    • 基本数据类型是对值得引用,引用数据类型是对地址的引用

循环

  • for循环
    • 1.定义
    • 2.条件
    • 3语句
    • 4自增


      for循环图解
      for循环图解

判断

  • if...else if....else
    if(num==0){
       alert('0')
    }else if(num==1){
        alert('1')
    }else if(num==2){
        alert('2')
    }else{
        alert('3')
    }
    
  • switch...case..break
    switch(num){
            case 0:
                alert(0);
                break;
            case 1:
                alert(1);
                break;
            case 2:
                alert(2);
                break;
            default:
                alert(3);
                break;
        }
    

隔行换色,两种思路

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

推荐阅读更多精彩内容

  • 1. tab列表折叠效果 html: 能源系统事业部 岗位名称: 工作地点 岗位名...
    lilyping阅读 1,843评论 0 1
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,727评论 2 17
  • 一、DOM 什么是DOM?Document Object Model(文档对象模型)。DOM是针对HTML和XML...
    空谷悠阅读 963评论 0 2
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 2,058评论 1 10
  • 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放...
    孤魂草阅读 875评论 0 0