js基础

 

浏览器弹出警告框:alert("xxxxxxxxxx");

在页面输出内容:document.write("xxxxxx");

向控制台写内容:console.log("xxxxxxxxxx");

 

可以将js代码写到a标签的href属性中

<a href="javascript:alert('内容');">点击</a>
<a href="javascript:;">点击</a>    

结构和行为耦合,不方便维护,可以将js代码卸载script标签中或者单独的js文件中,利用缓存机制提高用户体验

 

字面量:都是一些不可改变的值,字面可以直接使用,但是一般不直接使用字面量

变量:用来保存字面量,变量是可以随意更改的

 

js中一共有六种数据类型:String  Number Boolean Null Undefined  Object, object是引用数据类型,其他都是基本数据类型

js中表示的最大值:Number.MAX_VALUE、最小值:Number.MIN_VALUE

大于最大值:Infinity 无穷大   小于最小值: -Infinity,使用typeof检查infinity也会返回Number

NaN:使用一个特殊的数字

 

 Null(空值)类型的值只有一个,就是null
        * 	null这个值专门用来表示一个为空的对象
	* 	使用typeof检查一个null值时,会返回object

* Undefined(未定义)类型的值只有一个,就undefind
	* 	当声明一个变量,但是并不给变量赋值时,它的值就是undefined
	* 	使用typeof检查一个undefined时也会返回undefined     

  

将其他类型转换成String

调用被转换类型的toString()方法,null和undefined调用toString()会报错

调用String()函数,将要被转化的数据传入,null转换成"null", undefined转换成"undefined"

 

其他数据类型转换成Number

1、调用Number方法

  字符串  ---  数字,如果是非数字内容,则转换成NaN,如果字符串是一个空字符串或者全是空格的字符串,则转换0

  布尔  ----   数字 , true:1    false:0

  null   ---   数字    0

  undefined -- 数字    NaN

2、调用专门的方式

  parseInt(),把一个字符串转换成一个整数。 将一个字符串的有效整数取出来, 如果非String类型调用这个方法,会先将器转换成String类型,然后再进行操作

可以在parseInt()的第二个参数指定数字的进制

  parseFloat(),字符串到整数

 

 

其他的数据转换成boolean

1、使用Boolean()函数:

  除了0和NaN,其余的都是true,除了空串,其余的都是true,null和undefined转换成false,对象会被转换成true

 

 

 

<script type="text/javascript">
            /*
             *     编写程序,由键盘输入三个整数分别存入变量num1、num2、num3,
             *     对他们进行排序,并且从小到大输出。
             */
            
            //获取用户输入的三个数
            /*
             * prompt()函数的返回值是String类型的
             */
            var num1 = prompt("请输入第一个数:");
            var num2 = prompt("请输入第二个数:");
            var num3 = prompt("请输入第三个数:");
            
            
            //找到三个数中最小的数
            if(num1 < num2 && num1 < num3){
                //num1最小,比较num2和num3
                if(num2 < num3){
                    //num1 num2 num3
                    alert(num1 +","+num2 + ","+num3);
                }else{
                    //num1 num3 num2
                    alert(num1 +","+num3 + ","+num2);
                }
                
            }else if(num2 < num1 && num2 < num3){
                //num2最小,比较num1和num3
                if(num1 < num3){
                    //num2 num1 num3
                    alert(num2 +","+num1 + ","+num3);
                }else{
                    //num2 num3 num1
                    alert(num2 +","+num3 + ","+num1);
                }
                
            }else{
                //num3最小,比较num1和num2
                if(num1 < num2){
                    // num3 num1 num2
                    alert(num3 +","+num1 + ","+num2);
                }else{
                    //num3 num2 num1
                    alert(num3 +","+num2 + ","+num1);
                }
                
            }
            
            
        </script>

 

<script type="text/javascript">
            
            /*
             * 水仙花数是指一个3位数,它的每个位上的数字的3 次幂之和等于它本身。
                (例如:1^3 + 5^3 + 3^3 = 153),请打印所有的水仙花数。
             */
            
            //打印所有的三位数
            for(var i=100 ; i<1000 ; i++){
                
                //获取i的百位 十位 个位的数字
                //获取百位数字
                var bai = parseInt(i/100);
                
                //获取十位的数字
                var shi = parseInt((i-bai*100)/10);
                
                //获取个位数字
                var ge = i % 10;
                
                //判断i是否是水仙花数
                if(bai*bai*bai + shi*shi*shi + ge*ge*ge == i){
                    console.log(i);
                }
                
                
            }
            
            
        </script>
<script type="text/javascript">
            /*
             * 在页面中接收一个用户输入的数字,并判断该数是否是质数。
                质数:只能被1和它自身整除的数,1不是质数也不是合数,质数必须是大于1的自然数。    
             */
            
            var num = prompt("请输入一个大于1的整数:");
            
            
            //判断这个值是否合法
            if(num <= 1){
                alert("该值不合法!");
            }else{
                
                //创建一个变量来保存当前的数的状态
                //默认当前num是质数
                var flag = true;
                
                //判断num是否是质数
                //获取2-num之间的数
                for(var i=2 ; i<num ; i++){
                    //console.log(i);
                    //判断num是否能被i整除
                    if(num % i == 0){
                        //如果num能被i整除,则说明num一定不是质数
                        //设置flag为false
                        flag = false;
                    }
                }
                
                //如果num是质数则输出
                if(flag){
                    alert(num + "是质数!!!");
                }else{
                    alert("这个不是质数")
                }
                
                
            }
            
            
        </script>
<script type="text/javascript">
            
            
            //测试如下的程序的性能
            //在程序执行前,开启计时器
            //console.time("计时器的名字")可以用来开启一个计时器
            //它需要一个字符串作为参数,这个字符串将会作为计时器的标识
            console.time("test");
            
            //打印2-100之间所有的数
            for(var i=2 ; i<=100000 ; i++){
                var flag = true;
                for(var j=2 ; j<=Math.sqrt(i) ; j++){
                    if(i%j == 0){
                        //如果进入判断则证明i不是质数,修改flag值为false
                        flag = false;
                        //一旦进入判断,则证明i不可能是质数了,此时循环再执行已经没有任何意义了
                        //使用break来结束循环
                        break;
                        
                        //不加break 215ms
                        //加break 25ms
                        //修改j<=后 2.6
                    }
                }
                //如果是质数,则打印i的值
                if(flag){
                    //console.log(i);
                }
            }
            
            //终止计时器
            //console.timeEnd()用来停止一个计时器,需要一个计时器的名字作为参数
            console.timeEnd("test");
            
            /*
             * 36
             * 1 36
             * 2 18
             * 3 12
             * 4 9
             * 6 6
             */
            
            //可以通过Math.sqrt()对一个数进行开方
            //var result = Math.sqrt(97);
            
            //console.log("result = "+result)
            
            
        </script>

 

 

  

 

 

 

 

posted @ 2018-05-09 13:38  coderlzb  阅读(236)  评论(0编辑  收藏  举报