(1)html与js的结合使用 alert语句相当于java中的system.out.println,android 中的dialog性质的输出语句。
<head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript" src="hello.js" > </script> </head> alert('bbb');//hello.js文件放在同一目录下(2)html引入外部的hellojs进行调用结合使用
<body> <script type="text/javascript"> //1 变量声明 var num = 10; var str = 'haha';//"haha" 没有区别 //变量声明使用var //变量区分大小写 str 和 STR 不是同一个变量 //字符串使用 双引号 或 单引号包裹 都可以. num = "hello";//变量的类型可以随时改变. //命名规则 //2 行尾使用";" 作为一行的结束符号.(可以没有";",以折行符(回车)作为一行的结尾.)(不推荐) var num2 = 20 //3 js中的注释有两种 单行,多行 // 单行注释"//" // 多行注释 "/* */" // 没有文档注释 //4 封装代码块 与 java一样,使用{}. //5 变量声明时,前缀var 也不是必须的. //加var 和 不加 var 有什么区别? // 如果不使用var,那么该变量是全局变量 function fun1(){ var a = 10; b = 100; } fun1(); alert(b); </script> </body>(3)js的基本语法,以上有注释我就不一一介绍了。
<script type="text/javascript"> var num1 = 10; var num2 = 3.14; var str1 = 'a'; var str2 = "hello"; var b = true; var c; var d = null; //typeof alert(typeof num1);//number alert(typeof num2);//number alert(typeof str1);//string alert(typeof str2);//string alert(typeof b);//boolean alert(typeof c);//undefined alert(typeof d);// object //为什么null返回object? //是js中的一个bug,这个bug 被认为很贴切.所以保留了该bug. </script> </body>(4)js中的原始数据类型,以及判断符的操作判断数据类型
<body> <script type="text/javascript"> //一元加法 ==> java中 类型转换需要自己准备. ==> js 自带类型转换.==> js很随便 var a = +"123"; //alert(typeof a);//number var b = -"123"; // -123 var c = +"abc"; // 还是会进行类型转换,转换失败. alert(typeof c); alert(c);//转换失败之后,会返回NaN. not a number. NaN也属于number. </script> </body>(5)js中的运算符,以及类型转换的常见操作。
<body> <script type="text/javascript"> //boolean运算符 /* if(NaN){ alert("true"); }else{ alert("false"); } */ //转换规律 (重点) //string ==> ""==>转换为false 其他都为true; //number ==> 除了NaN,+0和-0.其他都转换为true. //null ==> false //undefined ==> false //NaN特性: //1 NaN参与的任何boolean运算返回值都是false. 除了!= /* alert(6>NaN);//false alert(6<NaN);//false alert(6==NaN);//false alert(NaN == NaN);//false */ //因为undefined是null衍生出的,所以 alert(undefined == null);// true </script> </body>(6)js中boolean类型的判断,几个特别的类型
<body> <script type="text/javascript"> alert(11>3);//true //当运算符两端 , 一端是数字,一端是其他类型时, 其他类型会自动向数字类型转换 alert("11">3);// true alert(11>"3");//true //字符串在进行比较时 ,规律是: 比较首字符asc码. 如果一样,比较第2位... alert("11">"3");// true alert("11">"1");// true alert("abc">11);//false </script> </body>(7)js中的判断非常的无规律,是缺点也是js最大的优点。
<body> <script type="text/javascript"> //1 js中的函数对象 //java中方法,函数 //public void xxx(){} //function fun1(){} ==> 这是定义对象.特殊之处,就是想java中的方法一样,可以执行. //方式3 function fun1(){ alert('aaa'); } alert(fun1.toString());//函数对象的toString方法,打印函数的完整定义 //js中函数对象的创建方式 //方式1 ==> 函数对象的构造方法中,最后一个参数是定义函数的体.之前所有参数都是定义函数的参数 var fun2 = new Function("a","b","alert(a+b);"); function fun2(a,b){ alert(a+b); } //方式2 var fun3 = function (){ alert('bbb'); } //问题如下:观察如下代码,查看是否有问题! function a(a,b){ alert(a+b); } var c = 1; var b = 2; a(c,b); </script> </body>(8)ECMA中js的对象的定义,有注释,大家自行运行看结果。
<body> <script type="text/javascript"> //1 js中的函数对象 //函数的调用 function fun1(a,b){ alert(a+b); } /*f un1(1,2);//3 fun1(1,2,3);//3 fun1();//NaN */ //js中函数的调用只看函数名称.不看参数列表 function fun2(){ //alert(arguments.length); //取得实际参数个数 alert(arguments[0]); // 获得第一个实际参数 } //函数中的内置对象 arguments //arguments ==> 代表函数运行时的实际参数列表. /* fun2(); //0 undefined fun2(1,2); //2 1 fun2(1,2,3); //3 1 */ // js中存在函数的重载吗? 如何重载? function fun3(){ alert('aaa'); } function fun3(a){ alert('bbb'); } //如上不能重载,是覆盖 function fun4(){ if(arguments.length == 2){ alert(arguments[0]+arguments[1]); }else if(arguments.length == 3){ alert(arguments[0]+arguments[1]-arguments[2]); } } fun4(1,2);//3 fun4(1,2,3);//0 //以上是重载. </script> </body>(9)这个就比较有意思了,注意arguments数组,与js的重载,是不是非常的那个6啊。
<body> <script type="text/javascript"> //---如果函数没有显示指定返回值 那么函数返回值为undefined. /* function fun1(){} alert(fun1()); */ //----------------------------------- //使用return 关键字,返回内容 function fun2(a,b){ alert('fun2'); return a+b; } //alert(fun2(1,2));//3 //return 关键字,在js中也可以作为结束方法运行的功能. function fun3(){ alert('aaa'); return ; alert('bbb'); } //fun3(); //--运算符 void()的使用----------- //用来拦截函数的返回值的. //alert(void(fun2(1,2)));//undefined </script> <a href="javaScript:void(fun2(2,3))" >点我</a> <br/> <a href="javaScript:void(0)" >点我</a> </body>(10)js中对象的返回,其实说是对象还不如说成是函数,我是这样想的,不知道大家同意不同意。 今天就把笔记写到这里,明天还得项目重构,利用业余时间多学一点,总是有好处的。