Python JavaScript1: 变量和操作元素

一、JavaScript 介绍

  • 1.1、JavaScript 是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互。 JavaScript是浏览器解释执行的,前端脚本语言还有JScript(微软,IE独有),ActionScript( Adobe公司,需要插件)等。
  • 1.2、前端三大块
    • HTML:页面结构
    • CSS:页面表现:元素大小、颜色、位置、隐藏或显示、部分动画效果
    • JavaScript:页面行为:部分动画效果、页面与用户的交互、页面功能
  • 1.3、JavaScript嵌入页面的方式
    • 方式一:行间事件(主要用于事件)

      <input type="button" name="" onclick="alert('ok!');">
      

      例如:

      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>JavaScript的基础介绍</title>
      </head>
      <body>
           <input type="button" name="" value="点击" onclick="alert('hello world!')">
      </body>
      </html>
      
    • 方式二:页面script标签嵌入

       <script type="text/javascript">        
            alert('ok!');
       </script>
      

      举例如下:

      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>JavaScript的基础介绍</title>
          <script type="text/javascript">
              alert('hello world!');
          </script>
      </head>
      <body>
      </body>
      </html>
      
    • 方式三:外部引入

      <script type="text/javascript" src="js/index.js"></script>
      

      举例如下:

      外部引入
      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>JavaScript的基础介绍</title>
          <script type="text/javascript" src="js/index.js"></script>
      </head>
      <body>
      </body>
      </html>
      

二、JavaScript:变量

  • 2.1、JavaScript 是一种弱类型语言,Javascript 的变量类型由它的值来决定。 定义变量需要用关键字 'var',如下

    var iNum = 100;
    var sSTr = 'IronMan';
    

    同时定义多个变量(优点是:性能更高一些),可以用 "," 隔开,共用一个 ‘var’ 关键字,入下

    var iNum = 100,var sSTr = 'IronMan',sCount='20';
    

    提示:JS 里面没有严格的缩进
    JavaScript 注释的方式如下:单行注释多行注释

    <!DOCTYPE html>
    <html lang="en">
    <head>
       <meta charset="UTF-8">
       <title>变量</title>
       <script type="text/javascript">
    
           var iNum = 100;
           var sStr = "王冲"
           // 单行注释
           alert(iNum)
           /*
              多行注释
            */
           alert(sStr)
    
        </script>
    </head>
    <body>
    </body>
    </html>
    

    一条javascript语句应该以“;”结尾

  • 2.2、变量类型:5种基本数据类型 和 1种复合类型

    • 5种基本数据类型
      • <1>、number 数字类型
      • <2>、string 字符串类型
      • <3>、boolean 布尔类型 truefalse
      • <4>、undefined undefined类型,变量声明未初始化,它的值就是undefined
      • <5>、null null类型,表示空对象,如果定义的变量将来准备保存对象,可以将变量初始化为null,在页面上获取不到对象,返回的值就是null
    • 1种复合类型:object
  • 2.3、变量、函数、属性、函数参数命名规范

    • 1、区分大小写
    • 2、第一个字符必须是 字母、下划线 _ 或者美元符号 $
    • 3、其他字符可以是字母、下划线、美元符或数字

    匈牙利命名风格:
    对象o Object 比如:oDiv
    数组a Array 比如:aItems
    字符串s String 比如:sUserName
    整数i Integer 比如:iItemCount
    布尔值b Boolean 比如:bIsComplete
    浮点数f Float 比如:fPrice
    函数fn Function 比如:fnHandler
    正则表达式re RegExp 比如:reEmailCheck

三、获取元素方法

提示:id 是给 JS 来使用的,下面我们会用id与JS结合来获取来获取一个标签对象,可以使用内置对象document上的getElementById方法来获取页面上设置了id属性的元素,获取到的是一个html(标签对象)对象,然后将它赋值给一个变量,

<script type="text/javascript">
<!-- 等整个页面加载完之后再去执行下面的语句 -->
   window.onload = function () {
       var oDiv = document.getElementById('box1')
   }
</script>
  • 3.1、获取元素后操作元素的方法一:将javascript语句放到window.onload触发的函数里面,获取元素的语句会在页面加载完后才执行,比如:

    <!DOCTYPE html>
    <html lang="en">
    <head>
       <meta charset="UTF-8">
       <title>获取元素</title>
       <script type="text/javascript">
       <!-- 等整个页面加载完之后再去执行下面的语句 -->
           window.onload = function () {
              var oDiv = document.getElementById('box1')
              oDiv.style.color='red';
              oDiv.style.fontSize = '30px';
           }
        </script>
    </head>
    <body>
       <div id="box1">这是一个div</div>
    </body>
    </html>
    
  • 3.2、获取元素后操作元素的方法二:不使用 window.onload,直接把JS代码放到对应标签下面,如下

    <!DOCTYPE html>
    <html lang="en">
    <head>
       <meta charset="UTF-8">
       <title>获取元素</title>
    </head>
     <body>
        <div id="box1">这是一个div</div>
        <script type="text/javascript">
           var oDiv = document.getElementById('box1')
           oDiv.style.color='red';
           oDiv.style.fontSize = '30px';
        </script>
    </body>
    </html>
    

四、操作元素属性
获取的页面元素,就可以对页面元素的属性进行操作,属性的操作包括 属性的读和写。操作属性的方法: 1、“.” 操作和2、“[ ]”操作

  • 4.1、属性写法

    • 1、html 的属性和js里面属性写法一样

    • 2、“class” 属性写成 “className”

    • 3、“style” 属性里面的属性,有横杠的改成驼峰式,比如:“font-size”,改成”style.fontSize”

    • 通过 “.” 操作属性:

      <!DOCTYPE html>
      <html lang="en">
      <head>
         <meta charset="UTF-8">
         <title>操作元素属性</title>
         <script type="text/javascript">
      
              window.onload=function () {
                  var oDiv = document.getElementById("div1");
                  var oDiv2 = document.getElementById("div2");
                  var oA = document.getElementById("link");
      
                  // 读取属性
                  var sId = oA.id;
                  alert(sId);
      
                  // 写属性
                  oDiv.style.color = "green";
                  oA.href = "http://www.baidu.com";
                  oA.title = "百度";
      
                  oDiv2.className = "box1"
               }
      
          </script>
          <style type="text/css">
             .box{
                 font-size: 20px;
                 color: pink;
              }
             .box1{
                 color: gold;
             }
           </style>
      </head>
      <body>
         <div id="div1">这是一个div元素</div>
         <a href="#" id="link">这是一个链接</a>
      
         <div class="box" id="div2">这是一个div元素</div>
      </body>
      </html>
      
    • 通过 “[ ]” 操作属性:

      <script type="text/javascript">
          window.onload = function(){
               var oInput1 = document.getElementById('input1');
               var oInput2 = document.getElementById('input2');
               var oA = document.getElementById('link1');
               // 读取属性
               var sVal1 = oInput1.value;
               var sVal2 = oInput2.value;
               // 写(设置)属性
               // oA.style.val1 = val2; 没反应
               oA.style[sVal1] = sVal2;        
          }
      </script>
      ......
      <input type="text" name="setattr" id="input1" value="fontSize">
      <input type="text" name="setnum" id="input2" value="30px">
      <a href="http://www.baidu.com" id="link1">百度</a>
      

      提示:属性用变量来代替的话需要用 [] 来操作

  • 4.2、innerHTML 可以读取或者写入标签包裹的内容

    <script type="text/javascript">
        window.onload = function(){
           var oDiv = document.getElementById('div1');
           //读取
           var sTxt = oDiv.innerHTML;
           alert(sTxt);
           //写入
            oDiv.innerHTML = '<a href="http://www.baidu.com" id="link1">百度</a>';
         }
    </script>
    
    ......
    
    <div id="div1">这是一个div元素</div>
    
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,458评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,454评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,171评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,062评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,440评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,661评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,906评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,609评论 0 200
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,379评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,600评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,085评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,409评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,072评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,088评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,860评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,704评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,608评论 2 270

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,109评论 1 45
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,369评论 0 0
  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,721评论 0 8
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,622评论 2 17
  • 欢迎关注个人微信公众账号:byodian个人博客:Byodian's Blog JavaScript 基础知识总结...
    工具速递阅读 712评论 0 3