我爱编程

学习JavaScript详解(1)

2018-03-27  本文已影响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)

window.open([URL], [窗口名称], [参数字符串])
URL:可选参数,在窗口中要显示网页的网址或路径。如果省略这个参数,或者它的值是空字符串,那么窗口就不显示任何文档。
窗口名称:可选参数,被打开窗口的名称。
1.该名称由字母、数字和下划线字符组成。
2."_top"、"_blank"、"_self"具有特殊意义的名称。
  a. _blank:在新窗口显示目标网页
  b. _self:在当前窗口显示目标网页
  c. _top:框架网页中在上部窗口中显示目标网页
3.相同 name 的窗口只能创建一个,要想创建多个窗口则 name 不能相同。
4.name 不能包含有空格。
参数字符串:可选参数,设置窗口参数,各参数用逗号隔开。
参数表.png
<script type="text/javascript"> window.open('http://www.baidu.com','_blank','width=300,height=200,menubar=no,toolbar=no, status=no,scrollbars=yes')
</script>
注意:运行结果考虑浏览器兼容问题。
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方面的技术,欢迎关注!

上一篇下一篇

猜你喜欢

热点阅读