JavaScript基础中的基础(小例子:滚动字幕)

一、变量

局部变量声明前面要加“var”

<script type="text/javascript">
 
    // 全局变量
    name = 'alex';
 
    function func(){
        // 局部变量
        var age = 18;
 
        // 修改全局变量name
        name = "eric"
    }
</script>

二、数据类型

数据类型有:数字、字符串、布尔值      数组、字典

数字、字符串、布尔值、null、undefined 为不可变类型

// null、undefined
null是JavaScript语言的关键字,它表示一个特殊值,常用来描述“空值”。
undefined是一个特殊值,表示变量未定义。

·1、数字(Number)

JavaScript中不区分整数值和浮点数值,JavaScript中所有数字均用浮点数值表示。

转换:

  • parseInt(..)    将某值转换成数字,不成功则NaN
  • parseFloat(..) 将某值转换成浮点数,不成功则NaN

特殊值:

  •  NaN,非数字。可使用 isNaN(num) 来判断。
  • Infinity,无穷大。可使用 isFinite(num) 来判断。

更多数值计算:

/*
常量
*/
Math.E            //常量e,自然对数的底数。
Math.LN10      //10的自然对数。
Math.LN2        //2的自然对数。
Math.LOG10E  //以10为底的e的对数。
Math.LOG2E    //以2为底的e的对数。
Math.PI          //常量
Math.SQRT1_2  //2的平方根除以1。
Math.SQRT2   //2的平方根。
/*
静态函数
*/
Math.abs( )     //计算绝对值。
Math.acos( )   //计算反余弦值。
Math.asin( )   //计算反正弦值。
Math.atan( )   //计算反正切值。
Math.atan2( )  //计算从X轴到一个点的角度。
Math.ceil( )     //对一个数上舍入。
Math.cos( )     //计算余弦值。
Math.exp( )   //计算e的指数。
Math.floor( )  //对一个数下舍人。
Math.log( )    //计算自然对数。
Math.max( )  //返回两个数中较大的一个。
Math.min( )   //返回两个数中较小的一个。
Math.pow( )  //计算xy。
Math.random( ) //计算一个随机数。
Math.round( )   //舍入为最接近的整数。
Math.sin( )     //计算正弦值。
Math.sqrt( )   //计算平方根。
Math.tan( )   //计算正切值
Math

2、字符串(String)

字符串是由字符组成的数组,但在JavaScript中字符串是不可变的:可以访问字符串任意位置的文本,但是JavaScript并未提供修改已知字符串内容的方法。

常见功能:

obj.length                           长度
 
obj.trim()                           移除空白
obj.trimLeft()
obj.trimRight)
obj.charAt(n)                        返回字符串中的第n个字符
obj.concat(value, ...)               拼接
obj.indexOf(substring,start)         子序列位置
obj.lastIndexOf(substring,start)     子序列位置
obj.substring(from, to)              根据索引获取子序列
obj.slice(start, end)                切片
obj.toLowerCase()                    大写
obj.toUpperCase()                    小写
obj.split(delimiter, limit)          分割
obj.search(regexp)                   从头开始匹配,返回匹配成功的第一个位置(g无效)
obj.match(regexp)                    全局搜索,如果正则中有g表示找到全部,否则只找到第一个。
obj.replace(regexp, replacement)     替换,正则中有g则替换所有,否则只替换第一个匹配项,
                                     $数字:匹配的第n个组内容;
                                     $&:当前匹配的内容;
                                     $`:位于匹配子串左侧的文本;
                                     $':位于匹配子串右侧的文本
                                     $$:直接量$符号

3、布尔类型(Boolean)

布尔类型仅包含 true/false,与Python不同的是其首字母小写。

  • ==      比较值相等
  • !=       不等于
  • ===   比较值和类型相等
  • !===  不等于
  • ||        或
  • &&      且

4、数组

JavaScript中的数组类似于Python中的列表

常见功能:

obj.length          数组的大小
 
obj.push(ele)       尾部追加元素
obj.pop()           尾部获取一个元素
obj.unshift(ele)    头部插入元素
obj.shift()         头部移除元素
obj.splice(start, deleteCount, value, ...)  插入、删除或替换数组的元素
                    obj.splice(n,0,val) 指定位置插入元素
                    obj.splice(n,1,val) 指定位置替换元素
                    obj.splice(n,1)     指定位置删除元素
obj.slice( )        切片
obj.reverse( )      反转
obj.join(sep)       将数组元素连接起来以构建一个字符串
obj.concat(val,..)  连接数组
obj.sort( )         对数组元素进行排序

5、字典

var d = {'k1':'v1','k2':'v2','k3':'v3'}
//undefined
d["k1"]
//"v1"
d["k4"] = 'v4'
//"v4"
d
//{k1: "v1", k2: "v2", k3: "v3", k4: "v4"}
d["k1"] = 'vv1'
//"vv1"
d
//{k1: "vv1", k2: "v2", k3: "v3", k4: "v4"}
delete d["k1"]
//true
d
//{k2: "v2", k3: "v3", k4: "v4"}

三、基本函数

// 普通函数
    function func(arg){
        return true;
    }
          
// 匿名函数
    var func = function(arg){
        return "tony";
    }
  
// 自执行函数
    (function(arg){
        console.log(arg);
    })('123')

注意:对于JavaScript中函数参数,实际参数的个数可能小于形式参数的个数,函数内的特殊值arguments中封装了所有实际参数。

四、条件语句、循环语句

1、条件语句:if和switch

if(条件){
 
}else if(条件){
         
}else{
 
}
if

switch

    switch(name){
        case '1':
            age = 123;
            break;
        case '2':
            age = 456;
            break;
        default :
            age = 777;
    }
switch

2、循环语句

var names = ["alex", "tony", "rain"];
 
//方式一
for(var i=0;i<names.length;i++){
    console.log(i);
    console.log(names[i]);
}

for(var i=0;i<names.length;i=i+2){
    console.log(i);
    console.log(names[i]);
}
//方式二
for(var index in names){
    console.log(index);
    console.log(names[index]);
}
循环数组
dic1 = {k1: "v1", k2: "v2", k3: "v3", k4: "v4"};
for(var k in dic1){
console.log(k); 
console.log(dic1[k])
};
循环字典
while(条件){
    // break;
    // continue;
}
while循环

滚动字幕的小例子:

<body>
    <h1 id="i1">欢迎各位小蚂蚁来做客</h1>

    <script>
        function f1() {
            //获取标签
            var tag = document.getElementById('i1');
            //获取标签内文本
            var content = tag.innerText;
            //获取文本第一个字符
            var first_char = content.charAt(0);
            //获取文本剩下的字符,将第一个字符加到最后面
            var new_str = content.substring(1, content.lenth) + first_char;
            //将新文本写到标签内
            tag.innerText = new_str;
        }
        //定时器每1000毫秒执行一次f1();
        setInterval('f1();', 1000);
    </script>
</body>

猜你喜欢

转载自www.cnblogs.com/staff/p/10129161.html