JavaScript基础知识

JavaScript调试:

使用console.log();可以向控制台输出信息。

JavaScript打印信息语法:

向页面输出信息,write后面要添加字符串,需要使用""标记字符串
也可以输出html的元素,

document.write("<h1>123</h1>");

会在页面显示h1大小的字符串123

document.write("");
JavaScript替换html元素:

getElementById("")可以根据元素的id找到对应元素,
innerHTML的作用是修改元素包围的内容
该JavaScript语句必须出现在id元素出现之后才会生效,直接出现在head元素里就会找不到id元素,失去效果

document.getElementById("").innerHTML = "";
JavaScript中的数据类型和定义:

JavaScript中的数据类型有数字、字符串、布尔值、数组、空值、未定义
如果只有var ,没有赋值,JavaScript就不知道需要解释成什么类型,所以就有了未定义类型
虽然类型有这么多,但是申明时都使用var,如下所示
可以使用typeof()进行数据类型的判断
JavaScript中变量不能用关键字定义,区分大小写,必须要使用字母开头。
即使不使用var关键字,JavaScript也会自动识别

        var num = 10;
        var string ="abcd";
        var bool = true;
        var arr = [1,2,3,4,5];
        var nu = null;
        var arrs = new Array("1","2","3","4");

JavaScript中的数组的使用示例:

<script>
	/*如下示例随机给出数组1~9*/
    var d = [1, 5, 6, 8, 9, 3, 2, 7, 4];
	
	/*使用push函数可以向数组中增加一个元素*/
    d.push(10);
    	
    /*使用sort函数可以进行排序,不过不可以直接对数字类型的数据进行排序
    需要实现一个简单的自定义函数调用才可以排序,否则会按照字符串的规则
    j*/
    alert(d.sort(sortnumber));

    function sortnumber(a, b) {
    	/*如果返回的是b - a,则实现的是逆序排序*/
        return a - b;
    }
	/*使用reverse函数可以直接把函数逆序输出*/
    alert(d.reverse());
</script>
JavaScript中特殊的运算符:

如果只使用 != 和 = = 符号,JavaScript不会进行数据类型的比较,如上,
虽然 “0” 是字符串类型,0是数字类型,但是值是一样的,所以返回值为true,增加一个 = 符号,JavaScript就会进行类型的比较,所以返回值九尾false
同理,!= 和 ! = = 也是一样的原理
总而言之,没有再加上一个 = 号,就不会进行数据类型的判断
JavaScript中由于所有变量都是由var设置的,使用 == 比较是否相等时
只会把值取出来进行比较,如下结果所示:

document.write("0"===0); //false
document.write("0"==0); //true

document.write("0"!==0); //true
document.write("0"!=0); //false
JavaScript中for关键字的特殊使用:

JavaScript中的 for 除了可以使用for(i; i < 10; i ++)这样的书写
还可以使用 in 关键字来进行循环,但是容易存在一些误区
如下所示:

       var i = [4,5,6];
       var j;
       for(j in i){
       		/*
       		for(j in i)不是让j值等于 i 数组里的值,而是让 j 值从0开始循环,
       		每次循环 j 值增加1,循环次数为数组 i 的长度*/
           document.write(j);
       }
       
       //打印内容:012
JavaScript中的函数定义:

在JavaScript中,函数的申明需要使用function关键字,因为JavaScript是弱类型的语言,所以数据类型可以直接省略不用申明,有没有返回值也不需要申明,有返回值直接使用return关键字进行返回即可
参数不仅可以是JavaScript的数据类型,还可以是一个函数,一般使用匿名函数作为参数

		var a = 10;
        var b = 15;
       	function sum(a, b) {
           	return a + b;
       	}
JavaScript中函数两种调用方式:

1.在script元素中直接调用,使用函数名直接调用

2.需要使用onclick属性,不一定要是用按钮类型的元素才可以来触发函数,
只要可以设置onclick属性,任何元素都是可以的,如下使用p元素:

    <script>
        var a = 10;
        var b = 15;

        function sum() {
            alert(a + b);
        }
        sum();
    </script>
<p onclick="sum()">abc</p>


JavaScript中的隐式全局变量:

可以看出,不使用var关键字定义变量是隐式定义全局变量的写法
即使看上去像是定义局部变量x,但是该变量x在a函数之外也是可以使用的

    <script>
        function a() {
            x = 10;
        }

        a();
        alert(x);
    </script>
    //打印结果:10
JavaScript捕获异常:

异常捕获是使用try{}catch代码块进行的
JavaScript中throw不是表示抛出一个异常,而是自定义的一个异常,表现显示为alert(“自定义字符串”);
throw “空值!” 形式等价alert(“空值!”);

/*以下为示例代码:*/
    <script>
        function a() {
            var n = "";
            //
            try {
                if(n == "")
                    throw "空值!";
                alert(n);
            } catch (e) {
            	//e表示错误信息,会包含错误的原因
                alert(e);
            }
        }
        a();
    </script>
JavaScript中创建一个类的三种方法:

类似json的数据格式:
其中,this类似于public,var类似于private,但是var变量只能在这个function里使用,即使用这个构造器构造一个实例,这个实例也是不能访问。
写完function,接可以使用new创建实例了,不像其他语言,JavaScript中的对象属性和方法是可以随时增加的,即使是在创建后。

	/*new一个Object对象,Object对象是JavaScript中所有对象的父类*/
    var app = new Object();
    
    /*属性名称可以是任意字符串*/
    app.name = "appname";
    app.title = "apptitle";
    
	/*至此就成功创建了一个自定义的对象*/
	
	/*上述写法可以简写成以下形式,只需要一行,类似json写法*/
    var app = {name: "appname", title: "apptitle"};

	/*还可以像java一样,定义一个类,再通过类来创建对象*/
    function app(name, title) {
        this.name = name;
        this.title = title;
        
        /*可以通过以下形式设置函数*/
        this.show = function(){
        	alert(name);
        }
		/*var模拟私有属性*/
        var x = 1;
    }

    var app = new app("appname", "apptitle");
    app.show();//appname
    alert(app.x);//undefined

遍历JavaScript对象中的属性:
使用for( x in 实例)可以取出实例中的所有键(因为JavaScript对象都是键值对),然后依据键可以找到所有的值,包括函数。

var app = new app("appname", "apptitle");	
for( key in app){
	console.log(app[key]);
}
JavaScript中的计时器:

JavaScript中的计时器有两种,Interval,和Timeout
以下为演示代码:

<body>
<p id="pid"></p>
<button onclick="stop()">stop</button>
</body>
<script>
	/*setInterval可以指定毫秒数不停地执行指定代码,使用时最好取出计时器的对象,方便我们手动停止,直接赋值setInterval给一个变量即可*/
    var interval = setInterval(function () {
    	
    	/*给p元素设置时间*/
        document.getElementById("pid").innerHTML = new Date();
        	
        /*每一千毫秒触发一次*/
    },1000);
	
	/*如下的stop函数用于手动停止,需要计时器对象*/
    function stop() {
    	
    	/*使用clearInterval函数,传入对应计时器的对象,就可以停止计时器*/
        clearInterval(interval);
    }

</script>

以上为演示setInterval计时器,接下来我们演示setTimeout计时器:

<script>
	/*在函数外部定义一个loop对象用来承载setTimeout计时器对象*/    
    var loop;
    function fun() {
        document.getElementById("pid").innerHTML = new Date();
	
		/*setTimeout可以暂停指定毫秒数运行指定代码,也可以使用递归的方式实现无限调用*/
        loop = setTimeout(function () {
            fun();
        },1000);
    }
    fun();
    	
    /*同理,使用clearTimeout函数可以清除Timeout类型的计时器*/
    function stop() {
        clearTimeout(loop);
    }

</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值