javascript简介及基本语法

这两天了解到一门新的脚本语言----javascript,貌似能干的事情好多呀哈哈哈哈,言归正传啧。

目录

javascript简介

js的简介

 js的特点

javascript和java的区别

javascript的组成

js与html结合方式

js原始类型和声明变量

原始类型

定义变量

js的语句 

js的运算符

js数组 

js的函数(动态函数和匿名函数) 

js的全局变量和局部变量

js的函数重载


javascript简介

js的简介

javascript是基于对象事件驱动的语言,应用于客户端。基于对象说的是javascript提供好了很多对象,可以直接拿过来使用,而不是我们在java中要得到一个对象得new一个对象;可以实现动态效果,而客户端专门指的是浏览器。(javascript以下统称为js)

 js的特点

1.交互性:可以实现信息的动态交互

2.安全性: js不能访问本地磁盘的文件

3.跨平台性:只要能够支持js的浏览器,都可以运行

javascript和java的区别

首先要明确,毫无关系。主要区别以下几点

1.java是sun公司,现在oracle,js是网景公司
2.js 是基于对象的,java是面向对象
3.java是强类型的语言,js是弱类型的语言
            - 比如java里面 int i = "10"; //报错
            - js:  var i = 10; var m = "10"; //可以操作
4.js只需解析就可以执行,而java需要先编译成字节码文件,再执行。

javascript的组成

1.ECMAScript
            - ECMA : 欧洲计算机协会
            - 由ECMA组织制定的js的语法,语句,也就是基础语法。

2.BOM
            - broswer object model: 浏览器对象模型

3.DOM
            - document object model:文档对象模型

js与html结合方式

1.使用一个标签

	<script type="text/javascript" src="1.js"></script>

直接在script标签里面写js的代码

2. 使用script标签,引入一个外部的js文件 

 	<script type="text/javascript" src="1.js"></script>

 使用第二种方式时候,就不能在script标签里面写js代码了,不会执行。 

那么还存在一个问题,script标签应该放在html标签的哪个位置呢?其实最佳的位置应该是把script标签放到 </body>后面 。因为如果在js里面需要获取到input里面的值,如果把script标签放到head里面会出现问题。html解析是从上到下解析的,script标签放到的是head里面,直接在里面取input里面的值,因为页面还没有解析到input那一行,肯定取不到。

js原始类型和声明变量

原始类型

1. string: 字符串

 var str = "abc";

2. number:数字类型

 var m = 123;

3. boolean:true和false

 var flag = true;

4. null:对象引用为空,只是一个占位符

 var date = new Date();

获取对象的引用,null表示对象引用为空 ,所有对象的引用也是object        

5.undifined: 定义一个变量,没有赋值

 var aa;

定义变量

java的基本数据类型 byte short int long float double char boolean。而js中定义变量都使用关键字 var 

用typeof();来查看当前变量的数据类型

js的语句 

1. if判断语句

if(..) {
  ---;
} else {
  ---;
}

 =:表示赋值; ==:表示判断

2.switch语句

             switch(a) {
                case 5:
                    break;
                case 6:
                    break;
                default:
                ......
             }

参数a支持各种数据类型

3.循环语句 for  while    do-while

 var i = 5;
while(i>1) {
    alert(i);
    i--;
}

4.for循环

for(int i=0;i<=10;i++) {
   alert(i);
}

js的运算符

1.+=  : x+=y;  ===> x=x+y;

注意:js里面不区分整数和小数

        var j = 123;
        alert(j/1000*1000);  
        //  j/1000*1000    在java里面得到结果是 0 
        // 在js里面不区分整数和小数,123/1000=0.123 * 1000 = 123

2. 字符串的相加和相减的操作

 如果相加时候,做是字符串连接; 如果相减,做的是相减的运算

        var str = "456";
        //alert(str+1);   //拼接 4561
        alert(str-1);    //相减时候,执行减法的运算455

 提示NaN:表示不是一个数字

3.boolean类型也可以操作
 如果设置成true,相当于这个值是1
 如果设置成false,相当于这个值是0

4. == 和 === 区别
比较的只是值; === 比较的是值和类型
    

js数组 

 java中的数组是存放相同类型元素的集合。而在js中数组可以存放不同的数据类型的数据。
 定义方式(三种)
        第一种:

 var arr = [1,2,3];   var arr = [1,"4",true];


        第二种:使用内置对象 Array对象

  var arr1 = new Array(5);  //定义一个数组,数组的长度是5
  arr1[0] = "1";

        第三种:使用内置对象 Array对象

  var arr2 = new Array(3,4,5); //定义一个数组,数组里面的元素是3 4 5 

其实第二种和第三种定义方式其实大同小异。如果括号内是一个数字表示数组长度,是多于一个的数字表示数组里面的元素。

数组里面有一个属性  length:获取到数组的长度

js的函数(动态函数和匿名函数) 

定义方法

1. 使用到一个关键字 function

            function 方法名(参数列表) {
                方法体;
                返回值可有可无(根据实际需要);
             }

eg:


            function test() {
                alert("qqqqq");
            }

            //调用方法
            test();
//---------------------------------------------------
            //定义一个有参数的方法  实现两个数的相加
            function add1(a,b) {
                var sum = a+b;
                alert(sum);        
            }

            //add1(2,3);

            //有返回值的效果
            function add2(a,b,c) {
                var sum1 = a+b+c;
                return sum1;
            }
            alert(add2(3,4,5));
        

2. 匿名函数

                var add = function(参数列表) {
                    方法体和返回值;
                }

eg:

		    var add3 = function(m,n) {
				alert(m+n);
			}

			//调用方法
			add3(5,6);
		

3.动态函数:使用到js里面的一个内置对象 Function

            var add = new Function("参数列表","方法体和返回值");

js的全局变量和局部变量

1.全局变量:在script标签里面定义一个变量,这个变量在页面中js部分都可以使用,即在方法外部使用,在方法内部使用,在另外一个script标签使用

2.局部变量:在方法内部定义一个变量,只能在方法内部使用    

js的函数重载

java中的重载是方法名相同,参数列表不同,返回值不同的一组函数。但是,在js中,我们要明确一点,js中是不存在重载的!!
如果写了若干“重载的函数”会调用最后一个方法。且把传递的参数保存到 arguments数组里面,因此我们可以通过其他方式模拟重载的效果 (通过aruguments数组来实现)

          function add1() {
            //比如传递的是两个参数
            if(arguments.length == 2) {
                return arguments[0]+arguments[1];

            } else if (arguments.length == 3) {
                return arguments[0]+arguments[1]+arguments[2];

            } else if (arguments.length == 4) {

                return arguments[0]+arguments[1]+arguments[2]+arguments[3];
            } else {
                return 0;
            }
         }

js在基础语法我整理了如上,接下来就会学习js的对象。 

 

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值