js基础语法

1.JavaScript:基于对象和事件驱动的脚本语言。嵌入到html中用。后缀名:.js

2.JavaScript的作用:
    2.1:交互性:表单验证,异步请求。
    2.2:与平台无关性:只需要浏览器解析,与平台无关。
    2.3:安全性:不能直接访问本地磁盘。

3.JavaScript的组成部分:ECMAScript(JS基础),DOM,BOM。

 

4.JavaScript的特点:需要浏览器解析,是一种弱类型语言。

 

5.页面引入JavaScript的三种方式:

5.1:行内引入:

eg:<!--行内引入Js-->

   <input type="button" value="点我试试"                                                                          οnclick="javaScript:alert('再点一下试试')" />

 

5.2:内部引入:

   eg:<!--内部js-->

<script type="text/javascript">

alert("这是一个内部Js");

    </script>

 

5.3:外部引入

 eg:<!--引入外部js-->

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

 

6.JavaScript基础语法:

6.1:js输出

eg:/*Js在html的body中输出*/

document.write("Hello Js");

 

/*弹出一个窗体输出*/

alert("Hello js2");

 

/*在控制台输出*/

   console.log("Hello js3");

6.2:js数据类型:number,string,boolean,undefined,null

6.4:判断变量的类型:type 变量名

6.5:js中判断值是否是非数字不考虑变量数据类型:isNaN(变量)

6.6:==和===

==;在js中,比较是2个变量的值,不考虑数据类型

===在js中,比较的是2个变量的数据类型和值

6.7js中表示false:"",null,undefined,false,NaN,0

7.js中数组的使用:像Java中的集合和数组中合体。

7.1:数组的声明:四种方式

eg://声明数组

var arr1=[1,7,9,11];

 

var arr2=new Array();

arr2[0]=33;

arr2[1]=11;

 

var arr3=new Array(3);

arr3[0]=33;

arr3[1]=11;

arr3[2]=55;

arr3[3]=22;

 

   var arr4=new Array(88,22,66);

 

7.2:向数组中添加元素:三种方式

eg://向数组中添加元素

arr4[3]=77;

//向数组的末尾添加元素

arr4.push(11,33);

//向数组的开头或结尾添加元素

arr4.unshift(44,55);

 

7.3:删除数组中的元素:四种方式

eg://删除数组中最后一个元素

arr4.pop();

//删除数组中第一个元素

arr4.shift();

//删除数组中所有的元素

     arr4.length=0;

   //删除数组中指定位置的元素

delete arr4[4];

 

7.4:修改数组中的元素:两种方式

//删除数组中的元素,再添加新元素(替换数组中元素)

arr4.splice(2,3,99,33);//第一个参数删除起始位置,第二个参数删除,第三个参数                                                                        开始添加的新元素

//修改数组中元素

     arr4[0]=66;

 

7.5:给数组排序:数据名.sort();

8.流程控制语句:if结构,if-else结构,多重if结构,嵌套if结构,switch结构,while循环,

do-while循环,for循环与java中的使用方式一样。

break和continue,return与java中的使用方式一样。

8.1:for-in与Java中的增强版的for不一样:

eg:/*for-in:遍历普通数组,遍历索引*/

var arr1=[1,5,2,4,6];

for(var i in arr1){

document.write(i+"<br/>");

}

 

/*for-in:遍历Json对象,遍历的是对象的属性*/

var ob1={"sname":"肖宁","sage":18,"sex":"中"};

for(var i2 in ob1){

document.write(i2+"<br/>");

}

 

/*for-in:遍历Json对象数组,遍历的是索引*/

var ob2=[{"sname":"肖宁","sage":18,"sex":"中"},{"sname":"洪伟坚","sage":17,"sex":"母"},{"sname":"容海波","sage":99,"sex":"女"}];

for(var i3 in ob2){

document.write(i3+"<br/>");

}

 

9.Js中函数:相当于Java中的方法。函数不调用不执行。

9.1:声明语法:function 函数名(【参数列表】){

函数体;

【return 变量;】

 }

 

函数调用语法:  函数名(【参数列表】);

eg:/*无参无返回值的函数*/

function show1(){

alert("这是一个无参无返回值的函数");

}

 

/*有参无返回值的函数*/

function show2(a,b){

alert("这是一个有参无返回值的函数,参数为:"+a+","+b);

}

 

/*无参有返回值的函数*/

function show3(){

alert("这是一个无参有返回值的函数");

return "哈哈";

}

 

/*有参有返回值的函数*/

function show4(a,b){

alert("这是一个有参有返回值的函数");

return a+b;

}

 

<input type="button" value="调用无参无返回值方法" οnclick="show1()"/>

<input type="button" value="调用有参无返回值方法"

οnclick="show2(1,2)"/>

<input type="button" value="调用无参有返回值方法"                                                                                                                                 οnclick="javascript:alert(show3())"/>

      <input type="button" value="调用有参有返回值方法"                                                                                                 οnclick="javascript:alert(show4(11,22))"/>

 

9.2:在Js中不能出现重载函数,原因javascript是一种弱类型的语言。参数列表无法区分数据                        类型。

 

9.3:匿名函数:

声明语法:var 变量名=function(【参数列表】){

 函数体;

 【return 返回值;】

   }

调用语法:变量名(【参数列表】);

eg:/*匿名函数*/

var f=function(num1,num2){

alert("这是一个匿名函数,参数为:"+num1+","+num2);

     }

 

<input type="button" value="调用匿名方法" οnclick="f(3,4)"/>

 

9.4:系统函数:

 parseInt():试图将其收到的任何输入值转换成整数类型,转换失败则返回NaN,无论成功或失败,最后数据都是number.将数值部分能                                        转,不能转不要。

parseFloat():同上类似

eg:var num1="1a23";

   num1=parseInt(num1);

 

   var num2="3.14";

   num2=parseFloat(num2);

isNaN():判断是否为非数字

isFinite():如果 number 是有限数字(或可转换为有限数字),那么返回 true。否则,如果 number 是 NaN(非数字),或者是正、负                    无穷大的数,则返回 false。

      eg:document.write(isFinite(num4));

eval():会将其输入的字符串当作javascript代码来执行

eg://将String类型当作Javascript执行

eval("alert('你好')");

//将String类型转换为JavaScript对象

var s1="{'sname':'张三','age':18}";

document.write(typeof s1);

document.write("<br/>");

var ob=eval("("+s1+")");

document.write(typeof ob);

document.write("<br/>");

  document.write(ob.sname+","+ob.age);

 

李老师讲的:

/* 类似java的可变参数的用法,来实现重载*/

function add(){

//console.log("-----------"+arguments.length);

var sum = 0;

for(var i=0;i<arguments.length;i++){

sum += arguments[i];

}

return sum;

}

 

//另外一种函数实现的方式:  类似匿名内部类方式

 

 

add2 = function(){

console.log("另外一种重要函数实现");

}

 

add2();  //注意:这是函数实现,调用部分一定要写后面,否则调用不到

 

第二点:

<script>

 

//parseInt: 将数字字符串转换为整数

var a = "99";

a = parseInt(a);

console.log(a);  //99

console.log(typeof a);  //number

 

a = "99感冒灵";

a = parseInt(a);  //会将前面能转的转出来

console.log(a);  //99 

console.log(typeof a);  //number

 

a = "感冒灵99";

a = parseInt(a); //前面非数字,无法转--NaN

console.log(a);  //NaN

console.log(typeof a);  //number

 

//a = "99";

a = "3.14";

console.log(parseInt(a));  //99  number   3

console.log(parseFloat(a));  //99  number  3.14

 

//---扩展----

console.log(parseInt("13",5));  //8   5进制的“13”转10进制输出

console.log(parseInt("13",8));  //11  8进制的“13”转10进制输出

console.log(parseInt("13",9));  //12  9进制的“13”转10进制输出

 

//判断是否为非数字: isNaN

console.log(isNaN(NaN));   //true

console.log(isNaN(11));    //false   是数字

console.log(isNaN("abc")); //true

console.log(isNaN("123"))  //false   是数字

 

//isFinite():判断输入的是否是一个既非Infinity也非NaN的数字

console.log(isFinite(NaN));       //false

console.log(isFinite(Infinity));  //false

console.log(isFinite("123"));     //true

console.log(isFinite("abc"));     //false

console.log(isFinite(11));        //true

//eval():会将其输入的字符串当作javascript代码来执行

eval("var num = 5;alert(num);");

//应用场景: 在数据传输时有作用---json

 

</script>

 

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值