05.01_ JavaScript全局函数
全局函数
//全局函数:不属于任何一个对象,直接通过函数名称调用即可
//1.eval:识别字符串中的js代码
//如果字符串是一个js代码,则直接只用
var str = "alert('1234')";
eval(str);
//2.encodeURI:对字符进行编码
var s1 = "测试中文abcd";
var r1 = encodeURI(s1);
document.write(r1);
document.write("<hr />");
//%E6%B5%8B%E8%AF%95%E4%B8%AD%E6%96%87abcd
//3.decodeURI;对字符进行解码
document.write(decodeURI(r1));
document.write("<hr />");
//4.isNaN:判断是否是NaN
//不是数字则返回true,是数字则返回false
document.write(isNaN("123"));
document.write("<hr />");
document.write(isNaN("abc1243"));
document.write("<hr />");
//5.parseInt:类型转换【将字符串转换为整型】
//parseFloat
var s2 = "aa123a";
document.write(s2 + 1); //字符串的拼接
document.write("<hr />");
//如果字符串不能正常的转化为一个整型,但是字符串的前半部分为数字,则直接将数字截取出来
//如果数字存在于字符串的中间或者后面,结果为NaN
document.write(parseInt(s2) + 1);
05.02_ 全局变量和局部变量
- 全局变量:在script标签中定义的变量,在整个页面的js部分都可以使用
- 局部变量:在函数内部定义的变量,作用范围只能在函数内部
<script>
// 第一个JavaScript标签内定义全局变量aa
var aa = 10;
document.write(aa);
document.write("<br />");
// 函数内部使用变量aa
function text01(){
document.write(aa);
}
text01();
document.write("<br />");
function text02(){
// 函数内部定义变量bb
var bb = 20;
document.write(bb);
}
text02();
//函数外部使用变量bb
document.write(bb);
document.write("<br />")
document.write("在错误之后访问aa:" + aa);
document.write("<br />")
</script>
<script>
// 在另外一个JavaScript标签中使用上一个标签中的全局变量aa
document.write("在外部访问aa:" + aa)
</script>
05.03_ js中的对象–string对象
字符串对象的创建和使用
创建字符串对象
<script>
//字符串就是一串字符,由单引号或者双引号【类似于Python】
//第一种创建方式--直接赋值
var str1 = "hello";
//第二种创建方式--new
var str2 = new String(); //str2 = "";
var str3 = new String("hello");
//第二种创建方式--直接通过String创建,相当于构造函数
var str4 = String("hello");
</script>
字符串常用操作方法
<script>
//一.和html相关的函数
//1.将字符串加粗 <b>
var str1 = "aaa";
document.write(str1.bold());
document.write("<hr />");
//2.设置字体颜色 <font color="">
//默认颜色为绿色
document.write(str1.fontcolor("red"));
document.write("<hr />");
//3.设置字体大小 ,取值范围1~7,size
document.write(str1.fontsize(5));
document.write("<hr />");
//4.将字符串设置为超链接 <a href>
var str2 = "点击";
document.write(str2.link("http://www.baidu.com"));
document.write("<hr />");
//5.设置上标和下标 <sub> <sup>
var str3 = "fhahg";
var str4 = "hello";
document.write(str3.sub());
document.write(str4.sup());
document.write(str3);
document.write("<hr />");
//【属性】
var s = "hello world";
//1.获取字符串的长度
document.write(s.length);
document.write("<hr />");
//二、类似于Python中字符串中的函数
//1.字符串的拼接:concat()
var string1 = "hello";
var string2 = "js";
document.write(string1.concat(string2));
document.write("<hr />");
//2.获取指定索引处上的字符:charAt()
document.write(s.charAt(6));
document.write("<hr />");
//3.获取指定的子字符串在源字符串中第一次出现的位置:indexOf()
document.write(s.indexOf("l"));
document.write("<hr />");
//4.可以将字符串进行切割:split()
//注意:得到的结果为一个数组
var string3 = "zhangsan is a good student";
var arr = string3.split(" ");
document.write(arr);
//array数组对象,通过typeof操作符或者typeof()获取到的结果都为object
document.write(typeof arr);
document.write("<hr />");
//5.字符串替换:replace
document.write(string3.replace("zhangsan","lisi"));
document.write("<hr />");
//6.获取子串:substring
var string4 = "zhangsan is a good student";
//从指定位置截取到结尾,包含指定索引
document.write(string4.substring(3)); //ngsa
document.write("<hr />");
//截取一个区间中的子字符串,包头不包尾
document.write(string4.substring(3,7));
document.write("<hr />");
//substr
//从指定位置截取到结尾,包含指定索引
document.write(string4.substr(3));
document.write("<hr />");
//第一个参数是开始位置,第二个参数是截取指定个数的字符
document.write(string4.substr(3,7));//ngsan i
</script>
05.04_ js中的对象–数组对象
- 数组对象:
- 存放一组数据的集合
创建数组
<script>
//数组使用[]表示
var arr1 = [1,3,34,46];
var arr2 = new Array(12,2,true,"j");
document.write(arr1);
document.write(typeof(arr1))
document.write("<br />")
document.write(arr2);
document.write(typeof(arr2))
document.write("<br />")
//初始化一个数组,数组中有4个元素,没有元素值
var arr3 = new Array(4);
document.write(arr3);
</script>
数组常用操作方法
<script>
//属性
//1.获取数组的长度:length
var arr1 = [43,54,66,7,7];
document.write(arr1.length);
document.write("<hr />");
//方法
//1.拼接:concat
var arr11 = [24353,55];
var arr12 = [124,54,54,66];
document.write(arr11.concat(arr12));
document.write("<hr />");
//2.合并:join
var arr2 = new Array(3);
//给数组的元素赋值,格式:数组名[索引] = 值
arr2[0] = "aaa";
arr2[1] = "bbb";
arr2[2] = "ccc";
document.write(arr2);
document.write("<hr />");
//字符串通过split可以分割成数组,数组可以通过join拼接成字符串
document.write(arr2.join("-"));
document.write("<hr />");
//3.向数组的末尾添加元素:push【入栈】
var arr3 = new Array(3);
//给数组的元素赋值,格式:数组名[索引] = 值
arr3[0] = "jack";
arr3[1] = "tom";
arr3[2] = "rose";
//返回数组的新的长度
var num = arr3.push("hreey");
document.write(num);
document.write("<br />")
document.write("arr3:"+arr3+"<br />");
//给数组首部插入元素:unshift
arr3.unshift("first");
//4.反转:reverse
document.write(arr2.reverse());
document.write("<hr />");
//5.截取数组:slice【包头不包尾】
document.write(arr2.slice(0,1)+"<br />");
document.write("<hr />")
//6.遍历数组
for(var i = 0;i < arr2.length;i++) {
var element = arr2[i];
document.write(element+"<br />")
}
</script>
05.05_ js中的对象–object对象
object对象创建和使用
<script>
//方式一:创建一个Object对象
var person = new Object();
//动态给对象添加属性
person.name = "zhangsan";
person.age = 10;
person.sex = "g";
//动态给对象添加方法
person.show = function(){
document.write("my name is " + person.name + ",今年" + person.age);
}
//调用函数
person.show();
document.write(person + "<br />")
document.write("<hr />");
//方式二:通过字面量的形式创建object对象
var p = {
name:"lisi",
age:12,
sex:"b",
show:function(){
//this其实就相当于是Python中的self,表示当前对象的引用
document.write("my name is " + this.name + ",今年" + this.age);
}
}
p.show();
//删除属性或者方法 【Python:del js:delete】
delete p.name;
p.show();//undefined
//注意:一般情况下,使用点语法访问属性或者调用方法,
//在js中,可以通过[]的方式访问属性
document.write(person.name);
document.write(person["name"]);
</script>
05.06_ js中的对象–Math对象
Math常用函数
<script>
//Math:主要进行数学的运算,其中的函数都是静态函数,调用的时候直接Math.
//四舍五入
document.write(Math.round(3.6));
document.write("<hr />");
//floor:向下取整 ceil :向上取整
//max:最大值 min:最小值
//abs:绝对值
//pow:Math.pow(2,3);求2的3次方
//sqrt:开平方
//求随机数
//返回结果值在0~1之间
document.write(Math.random());
</script>
05.07_ js中的对象–Date对象
创建Date对象
<script>
//创建
//1.直接Date函数
//注意:不管是否传参数,获取的都是当前的时间【字符串】
var date1 = Date("2017-03-26");
document.write(date1);
document.write("<hr />");
//2.构造函数:不传参数
var date2 = new Date();
document.write(date2);
document.write("<hr />");
//3.构造函数:需要传参数
//参数:表示日期的字符串
//格式:week,month,day,year,hours:minute:seconds
//字符串的格式:通过/或者-都可以相连
var date3 = new Date("2017/03/26");
document.write(date3);
document.write("<hr />");
//4.构造函数:参数(年,月,日,时,分,秒,毫秒)
//注意:月份是0~11,星期是0~6,0代表是星期天
var date4 = new Date(2018,3,20,11,29,23);
document.write(date4);
document.write("<hr />");
//5.构造函数:参数是毫秒
var date5 = new Date(437467);
document.write(date5);
</script>
Date对象常用函数
<script>
//创建日期对象
var date = new Date();
//获取:getXXXX
//获取年份
document.write(date.getFullYear());
document.write("<hr />");
//获取月份
document.write(date.getMonth());
document.write("<hr />");
//获取日期
document.write(date.getDate());
document.write("<hr />");
//获取星期
document.write(date.getDay());
document.write("<hr />");
//获取时分秒毫秒:getHours getMinutes getSeconds getMilliseconds
//获取从1970开始到现在的毫秒数【时间戳】
document.write(date.getTime());
document.write("<hr />");
//修改值:setXXXX
//设置年份
date.setFullYear(2020);
//设置月份
//当参数大于11,则当前年份会增加
date.setMonth(12);
//设置日期
//当参数大于18,29,30,31,则当前月份会增加
date.setDate(31);
//setHours() setMinutes() setSeconds()
//转换成字符串
document.write(date.toLocaleString());
document.write("<hr />");
document.write(date.toLocaleDateString());
document.write("<hr />");
document.write(date.toLocaleTimeString());
document.write("<hr />");
//parse();解析日期字符串
//将一个时间的字符串转换为时间戳
document.write(Date.parse("2018-04-20"));
document.write("<hr />");
//Date对象间的运算
var date1 = new Date("2018-10-10 10:10:10");
var date2 = new Date("2017-10-10 10:10:10");
//Date对象之间可以直接进行加减运算,得到的结果为毫秒
document.write(date1 - date2);
</script>
如有错误,请在下面评论。好及时更正,谢谢!