美文网首页我爱编程
学习JavaScript详解(1)

学习JavaScript详解(1)

作者: 付凯强 | 来源:发表于2018-03-27 16:52 被阅读0次

    0. 序言

    <!DOCTYPE HTML>
    <html> 
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>热身</title>
    </head>
    <body>
      <p id="p1">我是第一段文字</p>
      <p id="p2">我是第二段文字</p>
      
      <script type="text/javascript">
        document.write("hello");    
        document.getElementById("p1").style.color="blue";
      </script>
    </body>
    </html>
    

    1. 如何插入JS

    <script type="text/javascript">
        document.write("开启JS之旅!");
    </script>
    说明:表示在<script></script>之间的是文本类型(text),javascript是为了告诉浏览器里面的文本是属于JavaScript语言
    

    2. 引用JS外部文件

    <script src="script.js"></script>
    说明:在JS文件中,不需要<script>标签,直接编写JavaScript代码:
    document.write("引用JS文件!");
    

    3. JS代码位置

    javascript作为一种脚本语言可以放在html页面中任何位置,但是浏览器解释html时是按先后顺序的,所以前面的script就先被执行。比如进行页面显示初始化的js必须放在head里面,因为初始化都要求提前进行(如给页面body设置css等);而如果是通过事件调用执行的function那么对位置没什么要求的。

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>JS代码的位置</title>
    <script type="text/javascript">
      document.write("I love");
    </script>
    </head>
    <body>
    <script type="text/javascript">
     document.write("javascript");
    </script>
    </body>
    </html>
    

    4. 注释

    //快快把我变成单行注释
        /*
        知道吗
        JS可以实现很多动态效果
        快来学习吧!
        */
    

    5. 变量

    变量是用于存储某种/某些数值的存储器:
    var 变量名
    
    1.变量必须使用字母、下划线(_)或者美元符($)开始。
    2.然后可以使用任意多个英文字母、数字、下划线(_)或者美元符($)组成。
    3.不能使用JavaScript关键词与JavaScript保留字。
    
    先声明再赋值:
    var mychar;
    mychar="javascript";
    var mynum = 6;
    
    var mychar;
    mychar="javascript";
    mychar="hello";
    
    1. 在JS中区分大小写,如变量mychar与myChar是不一样的,表示是两个变量。
    2. 变量虽然也可以不声明,直接使用,但不规范,需要先声明,后使用。
    

    6. 判断语句

      <script type="text/javascript">
        var score =80; //score变量存储成绩,初值为80
        if(score>60){
         document.write("很棒,成绩及格了。");
        }
        else{
         document.write("加油,成绩不及格。");
        }
      </script>
    

    7. 函数

    <script type="text/javascript">
        function contxt() //定义函数{
             alert("哈哈,调用函数了!");
        }
    </script>
    
    <input type="button"  value="点击我" onclick="contxt()" />
    

    8. 输出内容(document.write)

    document.write("I love JavaScript!");
    
    var mystr="hello world!";
    document.write(mystr);
    
    var mystr="hello";
    document.write(mystr+"I love JavaScript");
    
    输出HTML标签,并起作用,标签使用""括起来:
    var mystr="hello";
    document.write(mystr+"<br>");//输出hello后,输出一个换行符
    document.write("JavaScript");
    

    9. 警告(alert 消息对话框)

      function rec(){
        var mychar="I love JavaScript";
        alert(mychar);
      }
    

    10. 确认(confirm 消息对话框)

    function rec(){
        var mymessage= confirm("你喜欢JavaScript吗?");
        if(mymessage==true){
            document.write("你是女士!");
        }else{
            document.write("你是男士!");
        }
      }  
    
    <input name="button" type="button" onClick="rec()" value="点击我,弹出确认对话框" />
    

    11. 提问(prompt消息对话框)

    prompt弹出消息对话框,通常用于询问一些需要与用户交互的信息。弹出消息对话框(包含一个确定按钮、取消按钮与一个文本输入框)。

    prompt(str1, str2);
    
    参数说明:
    str1: 要显示在消息对话框中的文本,不可修改
    str2:文本框中的内容,可以修改
    
    返回值:
    1. 点击确定按钮,文本框中的内容将作为函数返回值
    2. 点击取消按钮,将返回null
    
    var myname=prompt("请输入你的姓名:");
    if(myname!=null)
      {   alert("你好"+myname); }
    else
      {  alert("你好 my friend.");  }
    
    注:在用户点击对话框的按钮前,不能进行任何其它操作。
    
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>prompt</title>
      <script type="text/javascript">
      function rec(){
        var score; //score变量,用来存储用户输入的成绩值。
        score = prompt("请输入你的成绩:");
        if(score>=90)
        {
           document.write("你很棒!");
        }
        else if(score>=75)
        {
           document.write("不错吆!");
        }
        else if(score>=60)
        {
           document.write("要加油!");
        }
        else
        {
           document.write("要努力了!");
        }
      }
      </script>
    </head>
    <body>
        <input name="button" type="button" onClick="rec()" value="点击我,对成绩做评价!" />
    </body>
    </html>
    

    12. 打开新窗口(window.open)

    • open() 方法可以查找一个已经存在或者新建的浏览器窗口。
    window.open([URL], [窗口名称], [参数字符串])
    
    URL:可选参数,在窗口中要显示网页的网址或路径。如果省略这个参数,或者它的值是空字符串,那么窗口就不显示任何文档。
    
    窗口名称:可选参数,被打开窗口的名称。
    1.该名称由字母、数字和下划线字符组成。
    2."_top"、"_blank"、"_self"具有特殊意义的名称。
      a. _blank:在新窗口显示目标网页
      b. _self:在当前窗口显示目标网页
      c. _top:框架网页中在上部窗口中显示目标网页
    3.相同 name 的窗口只能创建一个,要想创建多个窗口则 name 不能相同。
    4.name 不能包含有空格。
    
    参数字符串:可选参数,设置窗口参数,各参数用逗号隔开。
    
    参数表.png
    • 例如:打开http://www.baidu.com网站,大小为300px * 200px,无菜单,无工具栏,无状态栏,有滚动条窗口:
    <script type="text/javascript"> window.open('http://www.baidu.com','_blank','width=300,height=200,menubar=no,toolbar=no, status=no,scrollbars=yes')
    </script>
    注意:运行结果考虑浏览器兼容问题。
    
    • 打开http://www.baidu.com网页,将在新窗体中打开,宽为600,高为400,距屏顶100像素,屏左0像素。当点击按钮时,打开新窗口。
    window.open('http://www.baidu.com','_blank','width=600,height=400,top=100,left=0')
    

    13. 关闭窗口(window.close)

    close()关闭窗口

    window.close();   //关闭本窗口
    
    <窗口对象>.close();   //关闭指定的窗口
    
    <script type="text/javascript">
       var mywin=window.open('http://www.baidu.com'); //将新打的窗口对象,存储在变量mywin中
       mywin.close();
    </script>
    

    14. 小练习

    制作新按钮,“新窗口打开网站” ,点击打开新窗口。

    function openWindow(){
            var isOpen = confirm('确定要打开新窗口吗');
            if(isOpen == true){
               var address = prompt('请输入您要打开的网站的地址');
                if(address!=null){
                    window.open('http://www.imooc.com','_blank','width=600,height=400');
                }
            }
        }
    
    注意:如果没有'_blank'这个参数,后面的宽高参数无效。
    

    15. 认识DOM

    DOM 将HTML文档呈现为带有元素、属性和文本的树结构(节点树)


    DOM节点层次图.png
    <a href="http://www.imooc.com">JavaScript DOM</a>
    
    示例.png

    16. 通过ID获取元素

    网页由标签将信息组织起来,而标签的id属性值是唯一的,通过id先找到标签,然后进行操作。

    document.getElementById(“id”) 
    
    <body>
    <p id="con">JavaScript</p>
    <script type="text/javascript">
      var mychar= document.getElementById('con');
      document.write("结果:"+mychar); //输出获取的P标签。 
    </script>
    </body>
    
    结果:[object HTMLParagraphElement]
    
    注:获取的元素是一个对象,如想对元素进行操作,我们要通过它的属性或方法。
    

    17. innerHTML获取替换元素内容

    innerHTML 属性用于获取或替换 HTML 元素的内容。

    语法:
    Object.innerHTML
    
    1.Object是获取的元素对象,如通过document.getElementById("ID")获取的元素。
    2.注意书写,innerHTML区分大小写。
    
    <p> JavaScript是一种基于对象、事件驱动的简单脚本语言,嵌入在HTML文档中,由浏览器负责解释和执行,在网页上产生动态的显示效果并实现与用户交互功能。</p>
    <script type="text/javascript">
      var mychar= document.getElementById("con")          ;
      document.write("原标题:"+mychar.innerHTML+"<br>"); //输出原h2标签内容
      mychar.innerHTML = "Hello world";
      document.write("修改后的标题:"+mychar.innerHTML); //输出修改后h2标签内容
    </script>
    
    原标题:javascript
    修改后的标题:Hello world
    

    18. 改变HTML样式

    语法:
    Object.style.property=new style;
    
    注意:Object是获取的元素对象,如通过document.getElementById("id")获取的元素。
    
    基本属性表.png
    注意:该表只是一小部分CSS样式属性,其它样式也可以通过该方法设置和修改。
    
      <script type="text/javascript">
        var mychar= document.getElementById("con"); //获取的是对象
        mychar.style.color="red";
        mychar.style.backgroundColor="#CCC";
        mychar.style.width="300px"
      </script>
    

    19. 显示和隐藏(display属性)

    显示和隐藏的效果,可通过display属性来设置。

    Object.style.display = value
    
    显示和隐藏.png
        <script type="text/javascript"> 
            function hidetext()  
            {  
            var mychar = document.getElementById("con");
            mychar.style.display = "none";
            }  
            function showtext()  
            {  
            var mychar = document.getElementById("con");
            mychar.style.display = "block";
            }
        </script> 
    

    20. 控制类名(className属性)

    className 属性设置或返回元素的class 属性。

    object.className = classname
    
    1.获取元素的class 属性。
    2.为网页内的某个元素指定一个css样式来更改该元素的外观。
    
    <script type="text/javascript">
           function add(){
              var p1 = document.getElementById("p1");
              p1.className="one"
           }
           function modify(){
              var p2 = document.getElementById("p2");
              p2.className="two"
           }
    </script>
    

    21. 小例子

    //定义"改变颜色"的函数
    function modifyColor(){
        document.getElementById("con").style.color = "red"
        document.getElementById("con").style.backgroundColor  = "blue"
    }
    
    //定义"改变宽高"的函数
    function modifyWidthAndHeight(){
        document.getElementById("txt").style.width = "5"
        document.getElementById("txt").style.height  = "10"    
    }
    
    //定义"隐藏内容"的函数
    function hideContent(){
        document.getElementById("con").style.display = "none"
    }
    
    //定义"显示内容"的函数
    function showContent(){
        document.getElementById("con").style.display = "block"   
    }
    
    //定义"取消设置"的函数
    function cancelSetting(){
        var isCancel = confirm("是否取消设置");
        if(isCancel==true){
            document.write("取消设置");
        }else{
            document.write("不取消设置");
        }
    }
    

    22. 后续

    如果大家喜欢这篇文章,欢迎点赞;如果想看更多前端移动端后端Java或Python方面的技术,欢迎关注!

    相关文章

      网友评论

        本文标题:学习JavaScript详解(1)

        本文链接:https://www.haomeiwen.com/subject/zovtcftx.html