<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>js结合方式</title></head><body><!--引入方式1,使用script标签,在标签内容里写代码--><script type="text/javascript">alert("hello world");</script> <!--引入方式2,导入js文件,注意,script标签内容需要为空--> <script type="text/javascript" src="hello.js"></script></body></html>
#hello.js
alert("哈哈");
開啟瀏覽器,會依序彈出兩條警告。
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>js数据类型</title></head><body><script type="text/javascript">/* Java数据类型 1、基本数据类型 (8种) 2、引用数据类型 */ /* js数据类型 1、原始类型 number 数字 不分整型和浮点型 string 字符串 在java中是引用类型,js中是原始类型 boolean 布尔 null 一般是人为赋值,对象数据类型的占位符 undefined null的衍生值,通常是系统自动赋值,当我们创建一个变量但是没有初始化时,默认为undefined 2、对象类型 */ var a;var b = null;alert(a); // 弹出undefinedalert(b); // 弹出null</script></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>js运算符</title></head><body><script type="text/javascript">var a = "123";alert(typeof a);a = +a; // 变成了数字类型,因为“+”是数字运算符,所以需要a是数字类型,于是自动转换alert(typeof a);// 除了+0, -0和NaN之外,所有其他number转为boolean时候都是true// NaN是错误的数据,比如 var c = +"abc";字母无法转为数字 // number -> bool 除了+0, -0和NaN之外都是true// string -> bool 只要不为空,就是true// null -> false// undefined -> false// Object -> true if (-1) {alert("true"); // 执行这条} else {alert("false");} // 使用“+”时,如果右字符串,则和java一样,转换为字符串var e = "33" + 1;alert(e); // 弹出331// 在其他运算符中,字符串会转换成数字var f = "33" - 1; // 弹出32alert(f);/* alert("2" > 1); // 优先往数字转,true alert("2" > "1") // 字符串的比较规则比较ASCII码 alert(1 == true); // true alert(2 == true); // false alert(0 == false); // true alert(null == undefined); // true alert(NaN == NaN); // false, 凡是NaN参与运算符,除了 ! 和 !=,其他都是false */ /* === 在比较的时候回包含类型,类型不一样直接false*/</script></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>对象</title></head><body><script type="text/javascript">// Function是一个特殊的对象function fun() {alert("hello1");} alert(fun.toString());// 1、对象的创建 var fun2 = function() {alert("hello2");}; fun2();// 2、对象属性alert(fun2.length) // length表示函数的参数个数// 3、对象的方法//toString()会打印函数定义 function fun3(a, b) {alert("和为"+ (a + b));// arguments.length表示函数运行时实际传入的参数个数alert("实际传入参数个数"+arguments.length);}// 只要函数名对了就行,不管参数fun3(1, 2);fun3(1, 2, 3); // 只用前两个fun3(); // 两个undefined,返回NaN </script></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><script type="text/javascript"> function fun(a, b) {alert(a + b);return a + b; }</script><!--使用void将函数包起来,用于拦截方法的返回值,可以避免新加载页面--><a href="javascript:void(fun(1, 2));">点我</a><a href="javascript:void(0)" onclick="alert('haha')">再点我</a></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>三个包装对象</title></head><body><script type="text/javascript">/* Java的八大基本数据类型都有对应的包装类,自动拆装箱机制 js中5个原始类型,有3个包装类,Number、String、Boolean js中的伪对象概念,原始类型可以直接调用对应包装类型的方法和属性 */ // 创建,填写任何类型的参数都可以,也即是说有强制类型转换的功能var str = new String("Hello");alert(str.length);alert("hello".length); alert(str instance String); // truealert("hello" instance String); //false,"hello"不是对象而是基本数据类型</script></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><script type="text/javascript">// parseInt 转换成整数 => 从左到右依次转换.转换到遇到不能转换的字符为止// parseFloat 转换成浮点数 var str = "123"; var num1 = parseInt(str);var num2 = +str;var num3 = new Number(str); alert(typeof num);//------------------------------------------var str2 = "123a"; alert(+str2); // NaNalert(parseInt(str2));//123//-------------------------------------------var str3 = "a123"; alert(parseInt(str3));//NaN//-------------------------------------------var str4= "3.14"; alert(parseFloat(str4));//3.14alert(parseInt(str4));//3</script> <script type="text/javascript">//isNaN() 判断一个值是否是NaNvar num = NaN; /* if(isNaN(num)){ alert("是NaN");}else{ alert("不是NaN");} *///-------------------------------------------------//eval() 传入字符串,当成表达式来使用并返回 alert(eval("1+1"));//2alert(eval("new String('abc')"));// abc </script></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Array对象</title></head><body><script type="text/javascript">//数组//对象的功能//表达数组,类似于java中的数组. 可以存取值//对象的创建var arr1 = [1,2,3,4];var arr2 = new Array(1,2,3,4);var arr3 = new Array(4);// 如果调用数组构造,只传递一个参数,并且参数的值是数字.那么该值将作为数组初始化长度//对象的属性// length 长度//alert(arr1.length);//4//alert(arr2.length);//4//alert(arr3.length);//4//对象的方法//pop 弹栈 将0索引 的变量移除并返回//push 压栈 将一个值放入数组的0索引位置//reverse 将数组反转 => 会对数组本身顺序进行调整//alert(arr1.reverse());//sort 排序 => 默认会按照字符串比较的方式排序.而不是数字. var arr5 = [100,1,5,9,2,3,8,7]; //alert(arr5.sort(abc)); // sort 可以传入一个比较器 => 比较器决定排序规则 function abc(a,b){return a-b;}//----------------------------------------------------------------------//进阶 js中的array没什么原则//1 数组中元素的类型可以任意//2 数组的长度是可以随时变化的.var arr6 = ["haha",3.14,true,null,undefined,new Object()]; alert(arr6.length); arr6[10] = "itcast";alert(arr6[10]);//itcastalert(arr6.length);// 11 alert(arr6[9]);//undefined</script></body></html>
以上是分享JavaScript中一些常用的知識點的詳細內容。更多資訊請關注PHP中文網其他相關文章!