JavaScript数据类型、函数、对象

一. 什么是JS

JS是JavaScript缩写,有以下特点:
    (1)基于对象
    JS本身就有一些现成的对象可供程序员使用,例如:Array,Math,String。。。
    JS并不排除你可以自已按一定的规则创建对象

   (2)事件驱动

   (3)解释性
    每次运行JS代码时,得需要将原代码一行一行的解释执行
    相对编译型语言(例如:Java、C++)执行速度相对较慢

   (4)基于浏览器的动态交互网页技术
    如果JS嵌入到HTML中,可以不需要服务器支持,直接由浏览器解释执行

   (5)嵌入在HTML标签中
    JS必须嵌入到一个名叫<script src="引入外部js文件"></script>的标签中,方可运行
脚本语言

二. JS中的三种类型

(1)基本类型:number,string,boolean
    number 包含正数,负数,小数
    string 由''或""定界
    boolean 由true或false,但js中的boolean也包含更多情况,例如:存在表示true,不存在表示false
        var num = 100;
        var str = "哈哈";
        var flag = false;
        window.alert(num);
        window.alert(str);
        window.alert(flag);
var num = 100;
        var str = "哈哈";
        var flag = false;
        window.alert(num);
        window.alert(str);
        window.alert(flag);

  

 

页面会依次弹出三个对话框显示这三个值。

(2)特殊类型:null,undefined
    null表示一个变量指向null
    undefined表示一个变量指向的值不确定
<script type="text/javascript">
        //多个script快中的内容,可以互相访问
        //alert(flag);
        //window.alert(str);
        var person = null;
        var card;
        if(card == undefined){
            alert("card变量暂时没有值");
        }else {
            alert(card);
        }
    </script>

  

 
(3)复合类型:函数,对象,数组
    对象包含内置对象和自定义的对象

三. JS中有三种定义函数的方式

(1)正常方式:function mysum(num1,num2){return num1+num2;} 
function add(num1,num2){
            return num1 + num2;
        }
        window.alert("10+20=" + add(10,20));
(2)构造器方式:new Function("num1","num2","return num1+num2;")
var add = new Function("num1","num2","return num1+num2");
        window.alert("100+200=" + add(100,200));

  

(3)直接量或匿名或无名方式:var mysum = function(num1,num2){return num1+num2;}
var add = function(num1,num2){
            return num1 + num2;
        }
        alert(add("100+200=" + 100,200));

  

 

四. JS中的四种对象

(1)内置对象 :Date,Math,String,Array,...
<script type="text/javascript">
        //Date
        //var str = new Date().toLocaleString();
        //window.document.write("<font size='44' color='red'>"+ str +"</font>");

        //Math
        /*for(var i=1;i<=10;i++){
            document.write(Math.floor(Math.random()*9)+1+"<br/>");
        }*/

        //String
       /* var str = "Hello你好";
        var size = str.length;
        alert(size);*/

        //Array
        var array = new Array("语文","数学","英语",true,123);
         for(var i=0;i<=10;i++){
         document.write(array[i] + " ");
         }

    </script>

  

 
(2)自定义对象:Person,Card,...
function Student(id,name,sal){
            //this指向s引用
            this.id = id;
            this.name = name;
            this.sal = sal;
        }
        var s = new Student(1,"波波",7000);
        document.write("编号:" + s.id + "<br/>");
        document.write("姓名:" + s.name + "<br/>");
        document.write("薪水:" + s.sal + "<br/>");

  

 
(3)浏览器对象: window,document,status,location,history...
<script type="text/javascript">
      /*  var url = "test.html";
        window.open(url);*/

        //status
        /*var nowStr = new Date().toLocaleString();
        window.status = nowStr;*/

        //location
      /*var url = "test.html";
        window.location.href = url;*/

        //history,演示刷新
        window.history.go(0);
        //0 -- 刷新
        //1 -- 前进
        //-1 -- 后退

    </script>

  

(4)ActiveX对象:ActiveXObject("Microsoft.XMLHTTP"),...

五. 演示JS对象的属性,方法和事件的使用

(1)window.location.href
//跳转到test.html页面
var url = "test.html";
            window.location.href = url;
(2)form.submit()
<form action="/test.html" method="POST">
        <input type="button" value="提交到服务端" onclick="doSubmit()"/>
    </form>
    <script type="text/javascript">
        function doSubmit(){
            //表单提交
            document.forms[0].submit();
        }
    </script>

  

(3) inputElement.constructor = 函数

(4)document.createElement(“img”)

(5) imgElement.style.width/height
posted @ 2017-02-12 21:35  梦碎轻抚尘埃  阅读(279)  评论(0编辑  收藏  举报