js----String、date、array、math、window、定时器

字符串

<script>
    //字符串对象的创建有两种方式
    var s = 'sffghgfd';
    var s1 = new String('  hel lo ');
    console.log(s,s1);
    console.log(typeof(s));   //object类型
    console.log(typeof (s1)); //string类型


    console.log(s.length);              //获取字符串的长度
    console.log(s.toUpperCase()) ;      //变大写
    console.log(s.toLocaleLowerCase()) ;//变小写
    console.log(s1.trim());            //去除字符串两边的空格(和python中的strip方法一样,不会去除中间的空格)
    console.log(s.charAt(3));          //获取指定索引位置的字符
    console.log(s.indexOf('f'));       //如果有重复的,获取第一个字符的索引,如果没有你要找的字符在字符串中没有就返回-1
    console.log(s.lastIndexOf('f'));   //如果有重复的,获取最后一个字符的索引
    var str='welcome to the world of JS!';
    var str1 = str.match('world');     //match返回匹配字符串的数组,如果没有匹配则返回null
    var str2 = str.search('world');    //search返回匹配字符串从首字符位置开始的索引,如果没有返回-1


    var aaa='welcome to the world of JS!';
    console.log(aaa.substr(2,4));     //表示从第二个位置开始截取四个
    console.log(aaa.substring(2,4));  //索引从第二个开始到第四个,注意顾头不顾尾
    console.log(aaa.slice(3,6));     //从第三个到第六个
    console.log(aaa.slice(4));       //从第四个开始取后面的
    console.log(aaa.slice(2,-1));      //从第二个到最后一个
    console.log(aaa.replace('w','c')); //字符串替换,只能换一个
    console.log(aaa.split(' '));       //吧字符串按照空格分割
    var strArray = aaa.split(' ');
    aaa.concat("xx")                  //拼接字符串
</script>

 

Array对象

<script>
    var arr = [11,55,'hello',true,656];

    var arr1 = arr.join('-');   //将数组元素拼接成字符串,内嵌到数组了,
    var v = arr.concat(4,5);
    
    v.toString()        //返回11,55,'hello',true,656,4,5

    arr.reverse();         //reserve:倒置数组元素
    arr.sort().toString(); //排序数组元素  是按照ascii码值排序的
    function intsort(a,b) {
        if (a>b){
            return 1;
        }
        else if (a<b){
            return -1;
        }
        else{
            return 0;
        }
    }
    arr.sort(intsort);       //定义排序规则
    
    var arr1=['a','b','c','d','e','f','g','h'];
    var arr2=arr1.slice(2,4); // 4.数组切片操作
    
    var a = [1,2,3,4,5,6,7,8];
    a.splice(1,2);  // 删除子数组
    console.log(a) ;//Array [ 1, 4, 5, 6, 7, 8 ]

    var b=[1,2,3];
    b.push('a0','4');       //将值插入到数组的最后
    b.unshift(888,555,666);//将值插入到数组的开始
    b.pop();               //pop;是讲数组的最后一个元素删除
    b.shift();             //将数组的第一个元素删除
    
</script>

数组的filter

var a = [1,2]
a.filter(res=>{return false})  -->a = []
a.filter(res=>{return true})  -->a = [1,2]

  

Date对象(日期):

创建date对象
//        方式一:
        var now = new Date();
        console.log(now.toLocaleString()); //2017/9/25 下午6:37:16
        console.log(now.toLocaleDateString()); //2017/9/25
//        方式二
        var now2 = new Date('2004/2/3 11:12');
        console.log(now2.toLocaleString());  //2004/2/3 上午11:12:00
        var now3 = new Date('08/02/20 11:12'); //2020/8/2 上午11:12:00
        console.log(now3.toLocaleString());

        //方法3:参数为毫秒数
        var nowd3=new Date(5000);
        alert(nowd3.toLocaleString( ));
        alert(nowd3.toUTCString()); //Thu, 01 Jan 1970 00:00:05 GMT

Date对象的方法—获取日期和时间

获取日期和时间
getDate()                 获取日
getDay ()                 获取星期
getMonth ()               获取月(0-11)
getFullYear ()            获取完整年份
getYear ()                获取年
getHours ()               获取小时
getMinutes ()             获取分钟
getSeconds ()             获取秒
getMilliseconds ()        获取毫秒
getTime ()                返回累计毫秒数(从1970/1/1午夜)

设置日期和时间

//设置日期和时间
//setDate(day_of_month)       设置日
//setMonth (month)                 设置月
//setFullYear (year)               设置年
//setHours (hour)         设置小时
//setMinutes (minute)     设置分钟
//setSeconds (second)     设置秒
//setMillliseconds (ms)       设置毫秒(0-999)
//setTime (allms)     设置累计毫秒(从1970/1/1午夜)
    
var x=new Date();
x.setFullYear (1997);    //设置年1997
x.setMonth(7);        //设置月7
x.setDate(1);        //设置日1
x.setHours(5);        //设置小时5
x.setMinutes(12);    //设置分钟12
x.setSeconds(54);    //设置秒54
x.setMilliseconds(230);        //设置毫秒230
document.write(x.toLocaleString( )+"<br>");
//返回1997年8月1日5点12分54秒

x.setTime(870409430000); //设置累计毫秒数
document.write(x.toLocaleString( )+"<br>");
//返回1997年8月1日12点23分50秒

时间和日期的转换

getTimezoneOffset():8个时区×15度×4分/度=-480;
返回本地时间与GMT的时间差,以分钟为单位
toUTCString()
返回国际标准时间字符串
toLocalString()
返回本地格式时间字符串
Date.parse(x)
返回累计毫秒数(从1970/1/1午夜到本地时间)
Date.UTC(x)
返回累计毫秒数(从1970/1/1午夜到国际时间)

 

Math对象(和数学有关):

abs(x)    返回数的绝对值。
exp(x)    返回 e 的指数。
floor(x)对数进行下舍入。
log(x)    返回数的自然对数(底为e)。
max(x,y)    返回 x 和 y 中的最高值。
min(x,y)    返回 x 和 y 中的最低值。
pow(x,y)    返回 x 的 y 次幂。
random()    返回 0 ~ 1 之间的随机数。
round(x)    把数四舍五入为最接近的整数。
sin(x)    返回数的正弦。
sqrt(x)    返回数的平方根。
tan(x)    返回角的正切。

 

window对象

alert()            显示带有一段消息和一个确认按钮的警告框。
confirm()          显示带有一段消息以及确认按钮和取消按钮的对话框。
prompt()           显示可提示用户输入的对话框。

open()             打开一个新的浏览器窗口或查找一个已命名的窗口。
close()            关闭浏览器窗口。

setInterval()      按照指定的周期(以毫秒计)来调用函数或计算表达式。
clearInterval()    取消由 setInterval() 设置的 timeout。
setTimeout()       在指定的毫秒数后调用函数或计算表达式。
clearTimeout()     取消由 setTimeout() 方法设置的 timeout。
scrollTo()         把内容滚动到指定的坐标。
// URL和刷新
location.href               获取URL
location.href = "url"       重定向
location.reload()           重新加载)

 window.open

window.open( url,"n1","status=1, height:500, width:600, toolbar=0, resizeable=0");    #在当前也打开一个窗口,页面不刷新
window.open(url)                                                                      #重新在开启一个窗口,之前的页面不刷新

window.opener使用

子页面要向父页面传值,只要在document前面加window.opener即可

window.opener.____  后面调用的父页面的方法

例子

父页面

<body>
<h1 id = "a">无所谓</h1>
<a href="#" onclick=a("http://www.baidu.com")>点我点我</a>
<script>
        function xxxpopupCallback(text) {
            document.getElementById('a').innerHTML = text;   //找到标签吧值替换成用户传进来的值
        }
        function a(url) {
            window.open( '/pop/', "n1","status=1, height:500, width:600, toolbar=0, resizeable=0");
            {#window.open( url,"n1","status=1, height:500, width:600, toolbar=0, resizeable=0");#}
        }
</script>
</body>

子页面 

<body>
<input type="text" name="user">
<button type="button" onclick="submit()">提交</button>
</body>
<script>
    function submit() {
    方法一
        window.opener.document.getElementById("a").innerText=document.getElementsByTagName("input")[0].value   #直接找到父页面的标签,进行替换值
    方法二:
        {#opener.xxxpopupCallback(document.getElementsByTagName("input")[0].value)#}     #opener.xxxpopupCallback  调用父页面的xxxpopCallback 方法
    window.close()
    }
</script>

  

定时器

<script>
    //每隔1秒执行function()
    intervalId = setInterval(function () {
        console.log(4);
    }, 1000);

    //2秒之后执行function(),执行一次
    setTimeout(function () {
        //清除定时功能
        clearInterval(intervalId)
    },2000)
</script>

  

  

关于null,undefined,""

  null和undefine以及空字符串都不进入if方法

if(value){

}

  

 

posted @ 2019-03-18 11:34  小名的同学  阅读(209)  评论(0编辑  收藏  举报