• js


    function bubbleSort3(arr3) {
    var low = 0;
    var high= arr.length-1; //设置变量的初始值
    var tmp,j;
    console.time('2.改进后冒泡排序耗时');
    while (low < high) {
    for (j= low; j< high; ++j) //正向冒泡,找到最大者
    if (arr[j]> arr[j+1]) {
    tmp = arr[j]; arr[j]=arr[j+1];arr[j+1]=tmp;
    }
    --high; //修改high值, 前移一位
    for (j=high; j>low; --j) //反向冒泡,找到最小者
    if (arr[j]<arr[j-1]) {
    tmp = arr[j]; arr[j]=arr[j-1];arr[j-1]=tmp;
    }
    ++low; //修改low值,后移一位
    }
    console.timeEnd('2.改进后冒泡排序耗时');
    return arr3;
    }
    var arr=[3,44,38,5,47,15,36,26,27,2,46,4,19,50,48];
    console.log(bubbleSort3(arr));
    1,stopPropagation=function(event){
    var e = event || window.event;
    if (e && e.stopPropagation) e.stopPropagation();
    else e.cancelBubble = true;
    }
    2,preventDefault=function(event){
    var e = event || window.event;
    if (e && e.preventDefault) e.preventDefault();
    else returnValue = false;
    }
    3,toFixed=function(num, s) {
    var times = Math.pow(10, s)
    var des = num * times + 0.5;
    des = parseInt(des, 10) / times;
    return des + ''
    }
    js:console.log(toFixed(21.414,3));
    4, addHandler=function (element, type, handler) {
    if(element.addEventListener) {
    element.addEventListener(type, handler, false);
    }else if (element.attachEvent) {
    element.attachEvent("on" + type, handler);
    }else{element["on" + type] = handler;}
    }
    html:<div id="test">test</div>
    js:var e=document.getElementById("test");
    addHandler(e,click,function(){
    alert("OK");
    })
    5,var points=[2,1,3];
    points.sort(function(a, b){return a-b});
    console.log(points);
    6,orderby=function(name){
    return function(o, p){ var a, b;
    if (typeof o === "object" && typeof p === "object" && o && p) {
    a = o[name];b = p[name];
    if (a === b) {
    return 0;
    } if (typeof a === typeof b) {
    return a < b ? -1 : 1;
    }return typeof a < typeof b ? -1 : 1; } else { throw ("error"); }} }
    js:var list=[{"name":"a"},{"name":"z"},{"name":"cs"}];
    list.sort(orderby("name"));
    6,orderby=function(name,minor){
    return function(o,p){
    var a,b;
    if(o && p && typeof o === 'object' && typeof p ==='object'){
    a = o[name];
    b = p[name];
    if(a === b){
    return typeof minor === 'function' ? minor(o,p):0;
    }
    if(typeof a === typeof b){
    return a < b ? -1:1;
    }
    return typeof a < typeof b ? -1 : 1;
    }else{
    thro("error");
    }
    }
    }
    js:var list=[{"name":"a2","age":3},{"name":"a1","age":2},{"name":"b","age":1}];
    list.sort(orderby("name",orderby("age")));
    console.log(list);
    7,getRect=function(element) {
    var rect = element.getBoundingClientRect();
    var top = document.documentElement.clientTop;
    var left= document.documentElement.clientLeft;
    return{top : rect.top - top,bottom : rect.bottom - top,left : rect.left - left, right : rect.right - left }
    }
    html:<div id="test" style="background:red;50%">test<div>
    js:console.log(getRect(document.getElementById("test")));
    8,visibleY=function(el){
    var top = el.getBoundingClientRect().top, rect, el = el.parentNode;

    do {
    rect = el.getBoundingClientRect();
    if (top <= rect.bottom === false)
    return false;
    el = el.parentNode;
    } while (el != document.body);
    return top <= document.documentElement.clientHeight;
    }
    html:<div>1<br/>2<br/>3<br/>4<br/>5<br/>6<br/>7<br/><div id="test">show<div></div>
    js:console.log(visibleY(document.getElementById("test")));
    9,replace=function(input,regExp){
    var reg = new RegExp(regExp, "g");
    if (!!input) {return input.replace(reg, ""); } else {
    return "";
    }}
    js:console.log(replace("abbcb","b")); //ac
    A, getRegExp=function(input,r){
    var reg = new RegExp('\[(.*)+\]', "g");
    if(r)reg = new RegExp('\[(.*?)\]', "g");//最小模式
    reg.exec(input);
    return RegExp.$1;
    }
    console.log(getRegExp("test[1dd1][33][xxdsfsfxx]"));
    B,uniqueArray=function(array,id){
    var r = [];
    for(var i = 0, l = array.length; i < l; i++) {
    for(var j = i + 1; j < l; j++)
    if(!id){if (array[i] === array[j]) j = ++i;}
    else{if (array[i][id] === array[j][id]) j = ++i; }
    r.push(array[i]);
    }
    return r;
    }

    var list=[1,1,2,3,4,5];
    console.log(uniqueArray(list));
    var list=[{id:"2"},{id:"2"},{id:"2ee"},{id:"3"}];
    console.log(uniqueArray(list,"id"));
    C,toggleFullScreen=function () {
    if (!document.fullscreenElement &&
    !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement ) { // current working methods
    if (document.documentElement.requestFullscreen) {
    document.documentElement.requestFullscreen();
    } else if (document.documentElement.msRequestFullscreen) {
    document.documentElement.msRequestFullscreen();
    } else if (document.documentElement.mozRequestFullScreen) {
    document.documentElement.mozRequestFullScreen();
    } else if (document.documentElement.webkitRequestFullscreen) {
    document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
    }
    } else {if (document.exitFullscreen) { document.exitFullscreen();
    } else if (document.msExitFullscreen) {document.msExitFullscreen();
    } else if (document.mozCancelFullScreen) {document.mozCancelFullScreen();
    } else if (document.webkitExitFullscreen) { document.webkitExitFullscreen();
    }}}

    HTML:<div onclick="toggleFullScreen()">test</div>
    D,flip3D
    <!DOCTYPE html>
    <html>
    <head>
    <style>
    .flip3D{ 240px; height:200px; margin:10px; float:left; }
    .flip3D > .front{
    position:absolute;
    transform: perspective( 600px ) rotateY( 0deg );
    background:#FC0; 240px; height:100%; border-radius: 7px;
    backface-visibility: hidden;
    transition: transform .5s linear 0s;
    }
    .flip3D > .back{
    position:absolute;
    transform: perspective( 600px ) rotateY( 180deg );
    background: #80BFFF; 240px; height:100%; border-radius: 7px;
    backface-visibility: hidden;
    transition: transform .5s linear 0s;
    }
    .flip3D:hover > .front{
    transform: perspective( 600px ) rotateY( -180deg );
    }
    .flip3D:hover > .back{
    transform: perspective( 600px ) rotateY( 0deg );
    }
    </style>
    </head>
    <body>
    <div class="flip3D">
    <div class="back">Box 1 - Back</div>
    <div class="front">Box 1 - Front</div>
    </div>
    <div class="flip3D">
    <div class="back">Box 2 - Back</div>
    <div class="front">Box 2 - Front</div>
    </div>
    <div class="flip3D">
    <div class="back">Box 3 - Back</div>
    <div class="front">Box 3 - Front</div>
    </div>
    </body>
    </html>
    E,Flip auth Height
    <!DOCTYPE html>
    <html>
    <head>
    <style>
    .flipcard {
    perspective: 800;
    -moz-perspective: 800;
    -webkit-perspective: 800;
    margin: 1em auto;
    96%;
    border: solid 1em white;
    border-radius: 0.5em;
    font-family: Georgia;
    transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    transition: 0.5s;
    -moz-transition: 0.5s;
    -webkit-transition: 0.5s;
    cursor: pointer;
    box-shadow: 0 0 5px black;
    }
    .flipcard:hover {
    box-shadow: 0 0 1em black;
    }
    .flipcard.flipped {
    transform: rotatey(-180deg);
    -moz-transform: rotatey(-180deg);
    -webkit-transform: rotatey(-180deg);
    }
    .flipcard .face {
    padding: 1em;
    text-align: center;
    backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    }
    .flipcard .front {
    background: #220000;
    color: white;
    display: block;
    }
    .flipcard.flipped .front {
    display:none;
    }
    .flipcard .back {
    background: #66eeff;
    color: black;
    transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    display:none;
    }
    .flipcard.flipped .back {
    display:block;
    }
    </style>
    </head>
    <body>
    <div class="flipcard" onclick="test(this)">
    <div class="face front">Front<br/>FrontFront</div>
    <div class="face back">
    back
    </div>
    </div>
    <script>
    function test(o){
    o.classList.toggle('flipped')

    }
    </script>
    </body>
    </html>
    D,justify-content:flex-start;| flex-end | center | space-between | space-around; 对齐方式
    align-items: flex-start; | flex-end | center | baseline | stretch;//高度不一致时对齐方式
    align-content: flex-start; | flex-end | center | space-between | space-around | stretch;多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用

    align-self:auto | flex-start | flex-end | center | baseline | stretch;可覆盖align-items
    D,Flex flex:1 1 50px; flex-grow flex-shrink[缩小] flex-basis;
    <!doctype html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="Generator" content="EditPlus®">
    <meta name="Author" content="">
    <meta name="Keywords" content="">
    <meta name="Description" content="">
    <style>
    body {margin:0px}
    body > div {display:flex;flex-flow:row wrap;min-800px}
    body > div > header,nav,main,aside,footer{ background:red;border-radius:7px;margin:6px;padding:20px;}
    body > div > header{order:1;height:100px;flex:0 1 100%}
    body > div > nav{order:2;flex:0 1 200px}
    body > div > main{order:3;min-height:400px;flex:1}
    body > div > aside{order:4;flex:0 1 200px}
    body > div > footer{order:5;height:100px;flex:0 1 100%}
    </style>

    <title>Document</title>
    </head>

    <body>
    <div>
    <header>Header</header>
    <nav>nav</nav>
    <main>main</main>
    <aside>aside</aside>
    <footer>footer</footer>
    </div>
    </body>
    </html>
    E:vertical-align

    <style>
    div span{
    vertical-align:middle;
    }
    .f35px{
    font-size:135px;
    }
    </style>
    <div style="100%;height:100px">
    <span class="f35px">1111</span>
    <span>22222</span>
    <span style="vertical-align:top">333</span>
    </div>
    F:CSS
    <div class="test">
    This establishes the main-axis, thus defining the direction flex items are placed in the flex container. Flexbox is (aside from optional wrapping) a single-direction layout concept. Think of flex items as primarily laying out either in horizontal rows or vertical columns.
    By default, flex items will all try to fit onto one line. You can change that and allow the items to wrap as needed with this property. Direction also plays a role here, determining the direction new lines are stacked in.This establishes the main-axis, thus defining the direction flex items are placed in the flex container. Flexbox is (aside from optional wrapping) a single-direction layout concept. Think of flex items as primarily laying out either in horizontal rows or vertical columns.
    By default, flex items will all try to fit onto one line. You can change that and allow the items to wrap as needed with this property. Direction also plays a role here, determining the direction new lines are stacked in.
    </div>
    <style>
    .test{
    margin:50px;font-size:25px; line-height:2;background-image:linear-gradient(black 1px,transparent 1px);
    background-size:100% 50px;background-origin:centent-box;background-position:0 45px;
    }
    </style>
    G:CSS
    <div class="smile">
    <img src="https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"
    />
    </div>
    <style>
    @keyframes test{
    from{transform:rotate(0deg);}
    to{transform:rotate(360deg);}
    }
    @keyframes test1{
    from{transform:rotate(360deg);}
    to{transform:rotate(0deg);}
    }

    .smile{
    animation:test 6s linear infinite;
    transform-origin:30% 330px;
    }
    .smile > img{
    animation:test1 6s linear infinite;

    }</style>

    ==================
    @keyframes wave{
    from{background-position:0 0;}
    to{background-position:-500px 0;}
    }
    .test{50px;height:70px;background:url('xxx') 0 0;
    animation:wave 2s infinite setps(10);
    }
    ===========================
    var peopleFactory=function(name,age,state){
    var temp={};
    temp.name=name;
    temp.age=age;
    temp.state=state;
    temp.print=function(){
    console.log(this.name+','+this.age+','+this.state);
    }
    return temp;
    }
    var person1=peopleFactory('name','80','china');
    person1.print();
    ========================================
    var peopleConstructor=function(name,age,state){

    this.name=name;
    this.age=age;
    this.state=state;
    this.print=function(){
    console.log(this.name+','+this.age+','+this.state);
    }

    }
    var person1=new peopleConstructor('name','100','Ny');
    person1.print();
    ====================================================================
    var peopleProto=function(){}
    peopleProto.prototype.name="";
    peopleProto.prototype.age="";
    peopleProto.prototype.state="";

    peopleProto.prototype.print=function(){
    console.log(this.name+','+this.age+','+this.state);
    }
    var person1=new peopleProto();
    person1.name="tddest";
    person1.age="test";
    person1.state="test";
    person1.print();

  • 相关阅读:
    关于我的博客园皮肤效果
    Typora结合Git打造完美的个人云笔记本
    linux查看占用端口的进程号并杀死该进程
    关于将ISO 8601格式的时间字符串转化为yyyy-MM-dd hh:mm:ss格式字符串用于前后台传输数据方法
    前后端分离_Vue_axios本地跨域(前端localhost:8080到后端localhost:8090)
    T-SQL 查询分区详细信息和行计数
    INSERT INTO vs SELECT INTO
    SQL Server
    T-SQL 常用语句
    T-SQL Datetime转换成字符类型
  • 原文地址:https://www.cnblogs.com/jayruan/p/5883701.html
Copyright © 2020-2023  润新知