简述

本系列将持续更新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:上面代码在打开新窗口的同时,关闭该窗口,所以你是看不到被打开的窗口的了,别撞牛角尖。


AlphaGooo
1.1k 声望135 粉丝

你想要什么,就去追求什么