<body>
<script type="text/javascript">
alert('aaa');
</script>
</body>
(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中对象的返回,其实说是对象还不如说成是函数,我是这样想的,不知道大家同意不同意。
今天就把笔记写到这里,明天还得项目重构,利用业余时间多学一点,总是有好处的。