<script>
var a = "你好";
var b = '啊';
alert(typeof (a));
alert(a);
alert(b);
var num1 = 12;
var num2 = 1.3;
alert(num1);
alert(num2);
var flag1 = true;
var flag2 = false;
alert(flag1);
alert(flag2);
var r1; //默认值赋值undefine
var r2 = null;
alert(r1);
alert(r2);
var t1 = undefined;
alert(t1);
</script>
引用数据类型
引用数据类型一般称之为类,但js语言不存在编译的过程,所以没有类的概念,所以处理的引用类型都是对象
标准创建方式
var str = new String();
var str2 = new String;
比较运算符
== 逻辑等:仅仅比较值
=== 全等:比较值且数据类型
逻辑运算符
js中逻辑运算符没有 & 和 |
正则对象的创建
var reg = new RegExp(“表达式”); 此种方式在开发中基本不用
var reg = /^表达式$/; (直接量,开发中常用)
注意:直接量存在边界:^代表开始,$代表结束
直接量方式的正则时对象,不是字符串,不用引号
直接量和普通方式区别
<script>
//直接量方式(必须全部字符都符合)
var reg = /^\s*$/; //正则表达式,匹配0到多个空格
var flag = reg.test(" "); //用来匹配字符串
var flag2 = reg.test(" a ");
alert(flag); //trye
alert(flag2); //false
//普通方式(除非全部字符否不符合正则,返回false,只要由字符符合返回true)
var reg2 = /\s+/;
var flag = reg.test(" a ");
alert(flag); //true
</script>
js数组
数组中每个成员类型没有限制
数组的长度可以修改
js数组的字中创建方式
var arr = [1, 2, "fff"]; //前俩种最常用
var arr2 = new Array(); //创建默认长度0的数组
var arr3 = new Array(4); //创建长度为4的数组
var arr4 = new Array(1,2,3);
alert(arr.length); //打印数组长度
a[1] = "hello"; //修改元素值
a[4] = "world"; //动态追加数组长度
alert(arr.length) //5
//将数组按照特定分隔符构成字符串
var res = arr.join("+"); //1+2+fff
alert(res);
alert(arr); //不会对当前的数组改变
var resvered = arr.reverse();
alert(resvered); //反转后的数组
alert(arr); //会改变当前的数组
var p = arr.pop(); //删除且返回最后一个数组元素,原先数组收影响
alert(p);
arr.push("3"); //追加一个元素在尾部
arr.push("2", "4", "5"); //追加多个元素按顺序
alert(arr);
全局函数
<script>
eval("var a = 10;"); //eval(string)将传入的字符串,作为js脚本代码来执行
//注意:只能传入基本数据类型字符串,而不能传入对象
alert(a); //10
</script>
编码和解码
对中文和特殊符号进行编码
URL和URI区别
URI是统一资源标识符,标识资源唯一名称
URL是统一资源定位器,定位资源的网络位置
资源:可以通过浏览器访问的信息统称为资源(图片、文本、HTML)
URI是标识资源的详细名称,包含资源名
URL是定位资源的网络位置包含http://
<script>
eval("var a = 10;"); //eval(string)将传入的字符串,作为js脚本代码来执行
//注意:只能传入基本数据类型字符串,而不能传入对象
alert(a); //10
//encodeURL(string) 对传入的字符串和特殊符号进行编码
var msg = "http://www.baidu.com?username = 张三 & passwo = 123";
var temo = encodeURI(msg);
alert(temo);
//对传入的字符串解码
var t = decodeURI(temo);
</script>
字符串转数字
如果某个字符串的字符从字面值无法转换为数字,那么就从该字符停止转换,仅返回前面正确的转换值
若从第一个字符就无法转换,则停止转换且返回NaN
<script>
eval("var a = 10;"); //eval(string)将传入的字符串,作为js脚本代码来执行
//注意:只能传入基本数据类型字符串,而不能传入对象
alert(a); //10
//encodeURL(string) 对传入的字符串和特殊符号进行编码
var msg = "http://www.baidu.com?username = 张三 & passwo = 123";
var temo = encodeURI(msg);
alert(temo);
//对传入的字符串解码
var t = decodeURI(temo);
</script>
<script>
//函数创建格式
/*
* function 函数名(形参列表) {
* 函数体
* }
* */
//函数求和
function getSum(a, b) {
return a+b;
}
var res = getSum(1, 2);
alert(res); //3
function getSum(a, b) {
}
var res = getSum(1, 2); //undefined //说明js中函数无论加不加return必有返回值
</script>
<script>
function getSum(a, b) {
return a+b;
}
function getSum() {
return "你好的";
}
var res = getSum(1, 2);
alert(res); //你好的
</script>