jsjquary 点击次数 奇偶性的判断

JavaScript08

jsjquary 点击次数 奇偶性的判断,第1张

1、你之前的答案是对的。有问题的是你全局变量的定义有问题,把你代码里的 i 变量的定义移到方法之外定义即可。

2、但是比较奇怪的是,你的代码里对于i变量没有进行奇数与偶数的处理,不知道是不是你代码没有贴全。

3、这个代码逻辑是比较简单的。具体代码如下图所示。

var reg = /^[0-9]+$/ //定义一个判断整数的正则

//获得输入的值

var ipt = document.getElementById('input_id')?document.getElementById('input_id').value:''

if(reg.match(ipt)){ //如果为正整数

var ipt_int = parseInt(ipt )

if(ipt_int % 2 == 0)

alert(ipt + '为偶数!')

else

alert(ipt + '为奇数!')

}else

alert('请输入整数!')

添加了一点注释 !有什么不懂得可以继续问我!

<!DOCTYPE html>

<html>

<head>

    <title></title>

    <script>

        //根据楼主的提示,在个数方面,我个人的理解只是算上“头”和“尾”两个数的,而且只算奇数个数,我感觉有些地方理解的不对,但信息上看总觉得有缺陷

        //1. 比如勾了一奇一偶的情况下,个数勾了1和2,个数是分开算还是一起算?分开算的话又怎么算?

        //2. 除了首尾以外,中间的数组元素算在个数当中吗?有什么规则呢?

        (function () {

            var result = true

            var array = [1, 2, 3, 4, 6]

            var conditions = {

                head: true, //false:奇,true:偶

                tail: true, //false:奇,true:偶

                count: 0 

            }

            if (conditions.count > 3) {

                result = false

            } else {

                var firstNumber = array[0], lastNumber = array.pop()

                //判断龙头的奇偶性

                var head = firstNumber % 2 === 0

                //判断凤尾的奇偶性

                var tail = lastNumber % 2 === 0

                //计算奇数的个数,我个人的理解只是算上“头”和“尾”两个数的,而且只算奇数个数

                var oldCount = 0

                if (head != tail) {

                    oldCount = 1

                } else {

                    oldCount = head ? 0 : 2

                }

                /*

                * 两个相同存在特殊判断

                */

                if (conditions.head == conditions.tail) {

                    if (conditions.head && conditions.count > 0) {

                        result = false

                    }

                    if (conditions.head == false && conditions.count != oldCount) {

                        result = false

                    }

                }

                else {

                    if (conditions.head != head || conditions.tail != tail || conditions.count != oldCount) {

                        result = false

                    }

                }

            }

            alert(result)

        })()

    </script>

</head>

<body>

</body>

</html>