欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Javascript学习总结 - JS基础系列一

程序员文章站 2024-01-28 09:12:28
...

简述

本系列将持续更新Javascript基础部分的知识,谁都想掌握高端大气的技术,但是我觉得没有一个扎实的基础,我认为一切高阶技术对我来讲都是过眼云烟,要成为一名及格的前端工程师,必须把基础打扎实了。我也想展翅高飞,但前提我必须练就一双会飞的翅膀。

Javascript基础部分

简述Javascript

  • javascript作为一种脚本语言可以放在html页面中任何位置,但是浏览器解释html时是按先后顺序的,所以Javascript的摆放很讲技巧。

  • 一般建议放在最后,在页面渲染结束后再执行js脚本加载,因为js加载常常会遇到阻塞的问题,不能因为js的阻塞而影响页面渲染效果。

  • 当然不同情况有不同的处理,比如进行页面显示初始化的js必须放在head里面,因为初始化都要求提前进行(如给页面body设置css等);而如果是通过事件调用执行的function那么对位置没什么要求的。

变量(var)

  • 定义变量使用关键字var:

<script type="text/javascript" charset="utf-8">

    var 变量名;

</script>
  • 变量名可以任意取名,但要遵循命名规则:
    1.变量必须使用字母、下划线(_)或者美元符($)开始。
    2.然后可以使用任意多个英文字母、数字、下划线(_)或者美元符($)组成。
    3.不能使用JavaScript关键词与JavaScript保留字。

  • 变量要先声明再赋值,如下:

<script type="text/javascript" charset="utf-8">

    var mychar;
    mychar="javascript";
    var mynum = 6;

</script>
  • 变量可以重复赋值,如下:

<script type="text/javascript" charset="utf-8">

    var mychar;
    mychar="javascript";
    mychar="hello";

</script>

注意 :
1) 在JS中区分大小写,如变量mychar与myChar是不一样的,表示是两个变量。
2)变量虽然也可以不声明,直接使用,但不规范,需要先声明,后使用。

函数(function)

  • 如何定义一个函数呢?基本语法如下:

<script type="text/javascript" charset="utf-8">

    function 函数名(){
         函数代码;
    }

</script>

说明 :

  1. function定义函数的关键字。

  2. "函数名"你为函数取的名字。

  3. "函数代码"替换为完成特定功能的代码。

比如:

<script type="text/javascript" charset="utf-8">

    function add2(){
       var sum = 3 + 2;
       alert(sum);
    }

</script>

说明 :这是一个简单函数,函数名为add2的函数,功能是实现两数相加显示结果。

【函数调用】函数定义好后,是不能自动执行的,所以需调用它,只需直接在需要的位置写函数就ok了:


    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>函数调用</title>
       <script type="text/javascript">
          function contxt() //定义函数
          {
             alert("哈哈,调用函数了!");
          }
       </script>
    </head>
    <body>
       <form>
          <input type="button"  value="点击我" onclick="contxt()" />  
       </form>
    </body>
    </html>

说明:这里写了一个简单的案例,js写了一个简单的文本输出函数,页面按钮点击触发js函数调用,实现js函数的文本输出功能。

输出内容(document.write)

  • document.write()可用于直接向HTML输出流写内容,简单的说就是直接在网页中输出内容。下面介绍几种向网页输出内容的方法:

  • 第一种: 输出内容用 " " 括起,直接输出 " " 号内的内容。

<script type="text/javascript">
 
     //内容用""括起来,""里的内容直接输出。
     document.write("I love JavaScript!"); 

</script>
  • 第二种: 通过变量,输出变量的内容

<script type="text/javascript">

    var mystr="hello world!";
    //直接写变量名,输出变量存储的内容。
    document.write(mystr); 

 
</script>
  • 第三种: 输出多项内容,内容之间用 +号 连接。

<scripttype="text/javascript">

      var mystr="hello";
      //多项内容之间用+号连接
      document.write(mystr+"I love JavaScript"); 

</script>
  • 第四种:输出HTML标签,并起作用,标签使用 " " 括起来。

<script type="text/javascript">

      var mystr="hello";
      //输出hello后,输出一个换行符
      document.write(mystr+"<br>");
      document.write("JavaScript");

</script>
  • 注意点:关于JS输出空格

  • 在写JS代码的时候,大家可以会发现这样现象:document.write(" 1 2 3 "); 结果: 1 2 3

  • 无论在输出的内容中什么位置有多少个空格,显示的结果好像只有一个空格。

  • 这是因为浏览器显示机制,对手动敲入的空格,将连续多个空格显示成1个空格。

  • 如果你真的需要显示你所希望看到的哪些空格,可以这么做:

1.使用输出html标签   来解决:

<script type="text/javascript">

     document.write("&nbsp;&nbsp;"+"1"+"&nbsp;&nbsp;&nbsp;&nbsp;"+"23");

</script>

结果: 1 23

2.使用CSS样式来解决:

<script type="text/javascript">

      document.write("<span style='white-space:pre;'>"+"  1        2    3    "+"</span>");

</script>

结果: 1 2 3

  • 在输出时添加“white-space:pre;”样式属性。这个样式表示"空白会被浏览器保留"。

警告消息对话框(alert)

  • 我们在访问网站的时候,有时会突然弹出一个小窗口,上面写着一段提示信息文字。如果你不点击“确定”,就不能对网页做任何操作,这个小窗口就是使用alert实现的。语法:

<script type="text/javascript">

     alert(字符串或变量); 

</script>

注意:

  1. 在点击对话框"确定"按钮前,不能进行任何其它操作。

  2. 消息对话框通常可以用于调试程序。

  3. alert输出内容,可以是字符串或变量,与document.write 相似。

确认消息对话框(confirm)

  • confirm 消息对话框通常用于允许用户做选择的动作,如:“你确定吗?”等。弹出对话框(包括一个确定按钮和一个取消按钮)。语法:

<script type="text/javascript">

     confirm(str);

</script>

参数说明:

str:在消息对话框中要显示的文本返回值: Boolean值。

例子: 通过返回值(true或false)可以判断用户点击了什么按钮。

<script type="text/javascript">

    var mymessage=confirm("你喜欢JavaScript吗?");
    if(mymessage==true){   
        document.write("喜欢,很喜欢JS");   
    }else{  
        document.write("不喜欢,我不懂JS");   
    }

</script>

例子:你可以在页面的某个按钮设置确认,从而触发对应的业务逻辑:


    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>confirm</title>
      <script type="text/javascript">
      function rec(){
        var mymessage = confirm();
        if(mymessage == true){
            document.write("你是女士!");
        }else{
            document.write("你是男士!");
        }
      }    
      </script>
    </head>
    <body>
        <input name="button" type="button" onClick="rec()" value="点击我,弹出确认对话框" />
    </body>
    </html>

提问消息对话框(prompt)

  • 首先这个小家伙很少见,一般人很少会用到它,但是还是有必要介绍它的。prompt弹出消息对话框,通常用于询问一些需要与用户交互的信息。弹出消息对话框(包含一个确定按钮、取消按钮与一个文本输入框)。语法:

<script type="text/javascript">

     prompt(str1, str2);

</script>

参数说明:
str1:要显示在消息对话框中的文本,不可修改。
str2:文本框中的内容,可以修改。

返回值:

  1. 点击确定按钮,文本框中的内容将作为函数返回值。

  2. 点击取消按钮,将返回null。

这里有一个例子,具体功能就是实现提示用户输入自己的姓名,确认后把输入的值返回给js,js进行判断做出相应反馈:

<script type="text/javascript">

    var myname = prompt("请输入你的姓名:");
    if(myname != null){   
        alert("你好" + myname); 
    }else{  
        alert("你好! my friend.");  
    }

</script>

打开新窗口(window.open)

  • window.open()方法用于打开一个新的窗口。语法:

<script type="text/javascript">

     window.open(<URL>, <窗口名称>, <参数字符串>)

</script>

参数说明:
URL:打开窗口的网址或路径。
窗口名称:被打开窗口的名称。可以是_top_blank_selft等。
参数字符串:设置窗口参数,各参数用逗号隔开。

  • 例如:打开 http://edu.jobui.com 网站,大小为300px * 200px,无菜单,无工具栏,无状态栏,有滚动条窗口:

<script type="text/javascript">

    window.open(
    'http://edu.jobui.com',// 打开窗口要去的网址
    '_blank',// 打开窗口形式
    'width=300,height=200,menubar=no,toolbar=no, status=no,scrollbars=yes'// 设置窗口参数
    )

</script>

注意:
1.参数之间逗号及等号前后有空格,该字符串无效,只有删除空格才能正常运行。
2.运行结果考虑浏览器兼容问题。

关闭窗口(window.close)

  • window.close()关闭窗口,语法:

<script type="text/javascript">

     window.close();   //关闭本窗口

</script>

或者

<script type="text/javascript">

     <窗口对象>.close();   //关闭指定的窗口

</script>
  • 例如:关闭新建的窗口。

<script type="text/javascript">

       //将新打的窗口对象,存储在变量mywin中
       var mywin=window.open('http://edu.jobui.com'); 
       mywin.close();

</script>

bug:上面代码在打开新窗口的同时,关闭该窗口,所以你是看不到被打开的窗口的了,别撞牛角尖。