zoukankan      html  css  js  c++  java
  • 一些JavaScript题目

    Q:如何将一个数组的内容复制到另外一个数组?
    A:
    jscript.array.copyArray = function(isSrcArray,inDestArray)
    {
     var i;
     for(i = 0; i < inSrcArray.length; i++)
     {
      inDestArray.push(inSrcArray[i]);
     }
     return inDestArray;
    }// End copyArray()
     
    把inSrcArry的中每一个元素都添加到inDestArry中。返回inDestArray.
     
     

    Q:怎样在一个数组中查找指定的元素呢?
    假设用户在页面中输入一系列的值。看起来合理的是应该把他们放到一个数组中 。 
     
    A:
    jscript.array.findInArray = function(inArray,inValue)
    {
     var i;
     for(i = 0;i<inArray.length;i++)
     {
     if(inArray[i] == inValue)
     {
     return i;
     }
     }
     return -1;
    }
    //遍历数组所有的值是否等于我们要找的值,然后返回下标值。找不到返回-1.这个几乎是任何类型的查找中“不,没有找到”的常见返回值。
     
     

    Q:假设我有一个数组,如何计算数组中所有值的平均值?
     
    A:
    jscript.array.arrayAverage = function(inArray) {
     var accmulatot = 0;
     var i = 0;
     for(i = 0; i< inArray.length;i++)
     {
      accmulator += inArray[i];
     }
     return accmulator / inArray.length;
    }
     
    //累加数组中的所有值,再除以长度。
     
     

    Q:如何获取正在使用应用程序的浏览器的标示信息?
    A:
    jscript.browser.getBrowserIdentity = function() {
     return navigator.appName + " " + navigator.appVersion;
    }
    //返回一个字符串,它由浏览器的名称和版本组成。
     
     

    Q:如何轻松的知道一个给月有多少天?比如用户输入31.我就需要确定输入的月份是有31天的?
     
    A:
    jscript.datetime.getNumberDaysInMonth = function(inMonth,inYear)
    {
     inMonth = inMonth - 1;
     var leap_year = this.inLeapYear(inYear);
     if(leap_year)
     {
     leap_year = 1;
     }
     else
     {
     leap_year = 0;
     }
     
     if(inMonth == 3 || inMonth == 5 || inMonth == 8 ||inMonth ==10)
     {
     return 30;
     }
     else if(inMonth == 1)
     {
     return 28 + leap_year;
     }
     else
     {
     return 31;
     }
    }
     
    判断输入的年是否为一个闰年,要实现这个功能,我们要再写一个名为isLeapYear()的函数用于检测
    。闰年的2月由29天。
    我们要记住4月,6月,9月。11月有31天。
     
     

    jscript.datetime.isLeapYer = function(inYear) {

    if((inYear % 4 == 0 && !(inYear %100==0)) || inYear %400 ==0)

    return true;

    }

    else {  return false;}

     }

    //如果年份可以被4整除且不能被100整除,或它可以被400整除的话,那么它就是闰年。
     
     
     

    Q:如何显示一个任意的一个对象的所有属性以及他们的值?
    jscript.debug.enumProps = function(inObj) {
    var props = "";
    var i;
    for(i in inObj){
     props += i + "=" + inObj[i] + " ";
    }
    alert(prop);
    }

     
    Q:如何实现一个健壮的自动记录日志机制呢?类似jakarta Comons Logging?
    我经常发现想在代码中放入一些日志信息,

    Q:如何将任意的一个DOM元素居中?
    当一个表单被提交时,应用程序弹出一个"请等待"的信息。它只是一个z-index设置为大的数值的
    <div>,所以它可以被显示在其他所有东西的上面。不幸的是,那个写代码的临时工不知道如何将
    <div>居中。所以它通常是在左上角。
     
    jscript.dom.layerCenterH = function(inObj)
    {
    var lca;
    var lcb;
    var lcx;
    var iebody;
    var dsocleft;
    if(window.innerWidth)
    {
     lca = window.innerWidth;
    }
    else
    {
     lca = document.body.clientWidth;
    }
    lcb = inObj.offsetWidth;
    lcx = (Math.round(lca/2)) - (Math.round(lcb/2));
    iebody = (document.compatMode && document.compatMode !="BackCompat")? dscoleft =
    document.all ? iebody.scrollLeft:window.pageXOffset;
    inObj.style.left = lcx +dsocleft + "px";
    }

    Q:如何引用任意数量的DOM元素?
    A:
    jscript.dom.getDOMElements = function()
    {
    if(arguments.length == 0)
    {return null;}
    if(arguments.length ==1)
    {return document.getElementById(arguments[0]);}
    var elems = new Array();
    for ( var i = 0;i<arguments.length;i++)
    {
    elems.push(document.getElementById(arguments[i]))'
    }
    return elems;
    }
     
    这个函数会接受可变数量的参数。

     
    Q:如何从一个HTML表单生成一个XML?  86页代码未摘录。
     
     

    Q:select提高全选功能?
    A:
    jscript.form.selectSelectAll = function(inSelect)
    {
    if(inSelect == null || !inSelect.options || inSelect.options.length==0)
    {return;}
    var i;
    for(i = 0;i<inSelect.options.length;i++)
    {
    inSelect.options[i].selected =true;
    }
    }
     

    Q:如何获得一个对象的的属性并把他们复制给另外一个对象?
    A:
    jscript.lang.copyProperties = function(inSrcObj,inDestObj,inOverride)
    {
    var prop;
    for(prop in inScrObj)
    {
     if(inOverride || !omDestObj[prop])
     {
     inDestObj[prop] = inSrcObj[prop];
     }
     }
    return inDestObj;
    }
     
    //使用for ...in 循环遍历inSrcObj的属性。对于每一个属性,查看是否已经在inDestObj中存在,如果存在,通过传入true作为inOverride参数的值,来看看条用着是否让我们覆盖已存在的属性。如果它存在是,我们就重写,如果它不存在,我们使用数组符号设置inDestObj的属性的值。
     
     

    Q:如何在一个指定范围内生成随机数?
    A:
    jscript.math.genRandomNumber = function(inMin,inMax)
    {
    if(inMin >inMax){return 0;}
    return inMin +(inMax-inMin)*Math.random();
    }
     
     
     

    Q:
    如何使用JavaScript打破一个框架?就是不在是iframeset!
    A:
    jscript.page.breakOutOffFrames = function() {
    if(self !=top)
    {
    top.location = self.location;
    }
    }

     
     
     
     
  • 相关阅读:
    Redis源码分析(二十一)--- anet网络通信的封装
    leetcode 总结part1
    leetcode String to Integer (atoi)
    leetcode 165. Compare Version Numbers
    leetcode 189. Rotate Array
    leetcode 168. Excel Sheet Column Title
    leetcode 155. Min Stack
    leetcode 228. Summary Ranges
    leetcode 204. Count Primes
    leetcode 6. ZigZag Conversion
  • 原文地址:https://www.cnblogs.com/moyuling/p/4568488.html
Copyright © 2011-2022 走看看