JavaScript基础

JavaScript的引入方式

方式一:直接写在HTML中,嵌套在script中
<script>            
    ........
</script>
方式二:导入式
<script src="tsets.js"></script>

JS基本数据类型

JavaScript有五种基本数据类型
1.Number
2.String
3.Boolean
4.Null  值仅有:null,针对尚未存在的对象
5.Undefined  值仅有:undefined  未定义
#######NaN:not a number属于Number的一种,其他类型转Number失败时为该值
<script>
    var x;   #  JS是弱变量类型,均用var声明变量。
    x = 12;
    y = 12;
    x = 15;
    alert(x);
    console.log(x);
    console.log(y);


    var name = "cunzhang", age = 28;

    // myFirstName="刘"   # 单行注释//   多行注释/*    */
    // MyFirstName="刘"

    function f() {       # function关键字声明函数
        console.log(123)
    }

    console.log(true + 1);   # 类型转换
    console.log(false + 1);
    console.log("hello" + 2);
    console.log("hello" + true);
    console.log(2 + true);
    console.log(parseInt(6.9234454));

    //NAN: not a number,属于Number的一种
    console.log(parseInt("hello")); //NAN
    console.log(parseInt("123"));   //123
    console.log(parseInt("123abc"));//123
    console.log(parseInt("abc1234"));//NAN


    //typeof :区分基本数据类型,对引用数据类型仅返回object

    console.log(typeof 123);
    console.log(typeof "hello");
    console.log(typeof true);
    console.log(typeof null);
    console.log(typeof undefined);

    console.log(typeof [12, 3, 4]);
    console.log(typeof {"name": "123"});

    #  区分: ++i  --i i++ i--   
    var i = 10;
    i++;
    console.log(i)

    console.log(i++)
    console.log(++i)


    var n = NaN;

    console.log(n > 5);//
    console.log(n < 5);//
    console.log(n == 5);//
    console.log(n == NaN);//NAN只要参与比较,布尔值一定是false,除非!=
    console.log(n != NaN);


    逻辑运算符&&,||,!   判断是否相等==
    console.log("hello" && 4)
    if ("hello" && 4) {

    }

    console.log(2 == 2);
    console.log("2" == 2);
    console.log(2 === "2")

    console.log(3 > 20);
    console.log(3 > "20");
    console.log("3" > "28")
</script>

JS创建函数

<script>
//    函数的创建方式一

   function f(x,y) {
       alert(123);
       return x+y;          
   }
   console.log(f(23,5678));


   function foo(name,age) {
       console.log("hello"+name)
   }



//    用对象:函数的创建方式二

   var obj=new Function("name","console.log(\"hello\"+name)")
   obj("武大");

   console.log(foo.length)

// 函数的调用


   function add(x,y,z) {
       return x+y+z
   }

   console.log(add(1,2,3,4,5,6));
   console.log(add(1,2));
   console.log(add("hello","world"));


 # 面试题
   function f(x,y) {
       return x+y
   }

   var f=1;
   var b=2;
   f(f,b)   # 报错 f 被覆盖


     function f() {
         console.log(arguments);

         return a+b
     }
     f(1,2,45,6,7,78);

   function ADD() {
         var sum=0;
       for (var i=0;i<arguments.length;i++){
           sum+=arguments[i]
       }
       return sum
   }

   console.log(ADD(1,2))

# 匿名函数
       var func = function(arg){
           alert(arg)
           };

       func("hello");

(function(arg){
           alert(arg)
           })("YUAN")

</script>

JS控制语句

<script>

// ------    if else
   var name="alex";
   if (name=="lijie")
   {
       alert("俗气")
   }
   else if(name=="zhichao")
   {
       alert("洋气")
   }
   else{
       alert("this is ALEX!")
   }

// -----    switch
   var week="Monday";
   var week=3;

   switch (week){

       case "Monday" :alert("星期一");break;
       case "Tuesday":alert("星期二");break;
       case 3:alert("星期三");break;
       case 4:alert("星期四");break;
       case 5:alert("星期五");break;
       case 6:alert("星期六");break;
       case 7:alert("星期日");break;
       default:alert("nothing");
   }

//循环 for while

   for(var i=0; i<10; i++){
       document.write("welcome"+i+"<br>")
   }


   var attr=[111,222,333];

   for (var i=0;i<attr.length;i++){
       document.write(i);
       document.write("<br>");
       document.write(attr[i]);
       document.write("<br>");
   }

   for (var i in attr){

       document.write(i);
       document.write("<br>");
       document.write(attr[i]);
       document.write("<br>");
   }

   var eles_P=document.getElementsByTagName("p");
   console.log(eles_P);

//    for (var i in eles_P){
//        console.log(i)
//    }

   for (var i=0;i<eles_P.length;i++){
       console.log(i);
       console.log(eles_P[i]);
   }

while 循环
   var x=0;
   var i=1;
   while (i<=100){
       x+=i;
       i++;
   }
   console.log(x)

for 循环实现
   var sum=0;
   for (var i=0;i<101;i++){
       sum+=i;
   }
   console.log(sum)

异常

   try{
       console.log(123);
       throw Error("define error")
   }
   catch(e) {
       console.log(e)
   }
   finally {
       console.log("finally")
   }

</script>

JS中的对象

<script>
    //创建字符串对象两种方式
   var str1="hello";

   var str2=new String("hello2");

   console.log(typeof str1);
   console.log(typeof str2);

    //字符串的属性
   console.log(str1.length);
   // 字符串的方法
   //编排方法
   console.log(str1.italics());  //      <i>hello</i>
   console.log(str1.bold());    //      <i>hello</i>
   console.log(str1.anchor());  //      <i>hello</i>
    查询字符串索引
   var str="welcome to the world of JS!";

   var str2=str.indexOf("l");
   var str3=str.lastIndexOf("l");
   alert(str2);
   //结果为2
   alert(str3);
   //结果为18

    // substr substring
   console.log(str1.substr(1,3));
   console.log(str1.substring(1,3));

   console.log(str1.slice(1,4));
   console.log(str1.slice(-3,-1))


    //-------------------------------Array-----------------------------

//    //创建方式
   var arr1=[1,"hello",[11,2],{"name":"Yuan"}];
   var arr2=new Array(3);
   var arr3=new Array(1,"world",true,[1,2,3]);

   console.log(typeof arr1);
   console.log(typeof arr2);
   console.log(typeof arr3);

   // 注意: var arr4=new Array(10) 10是size
   console.log(arr1.length);

    // Array对象的方法
    // join方法
   var arr5=[1,2,3,4,"1234"];
   var ret=arr5.join("**");
   console.log(ret);
   console.log(typeof ret)

    toString()
   var ret2=arr1.toString();
   console.log(ret2);
   console.log(typeof ret2);

    concat()
       var arr5=[1,2,3];
       var ret3=arr5.concat([5,66]);

       console.log(ret3);
       console.log(typeof ret3);

    // reverse 
    var arr6=[23,45,37,88];
   var arr6=[10,45,100,88];

   console.log(arr6.reverse());
   console.log(arr6.sort()) ;   //按第一个元素排序:10,45,88,100

   function f(a,b) {

       if(a>b){
           return 4
       }
       else if(a<b){
         return -4
       }
       else {
           return 0
       }
   }

   function f2(a,b) {
       return a-b
   }

   console.log(arr6.sort(f2))

    // push pop:栈操作

   var arr7=[1,2,3];
   arr7.push([7,8,0]);
   arr7.push("hello",5);
   console.log(arr7);
   console.log(arr7.length);

   console.log(arr7.pop());
   console.log(arr7.pop());
   console.log(arr7.length);

    // shift unshift: 栈操作

   var arr8=[4,5,6];
   arr8.unshift([11,222]);
   arr8.unshift(true,"yes");//[true,"yes",[11,22],4,5,6]

   arr8.shift();//["yes",[11,22],4,5,6]
   console.log(arr8);
   console.log(arr8.length)

</script>

window对象提供的方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // window对象的方法
    //alert  提示
   window.alert("hello")
    //confirm   让用户确认
   var ret=window.confirm("hello Yuan");
   console.log(ret);
    // prompt  让用户输入信息
   var ret2=window.prompt("hello....")
   console.log(ret2)


    // open("http://www.baidu.com")

    setInterval(f,1000);

    function f(){
             console.log(666)
    }
</script>
</body>
</html>

简单定时器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #id1{
            width: 200px;
            height: 50px;
        }
    </style>
</head>
<body>

<input type="text" id="id1" onclick="begin()">  # 绑定事件
<button onclick="end()">停止</button>

<script>

    function showTime() {
             var current_time=new Date().toLocaleString();
             var ele=document.getElementById("id1")
             ele.value=current_time
    }
    var clock1;
    function begin() {
        if(clock1==undefined){
            showTime();
           clock1=setInterval(showTime,1000)
        }

    }

    function end() {
        clearInterval(clock1);
        clock1=undefined
    }


</script>
</body>
</html>

JS的DOM对象提供的方法:

// 通过:id
document.getElementById()  
// 通过:class名
document.getElementsByClassName()
// 通过:标签
document.getElementsByTagName()
// 通过:属性
document.getElementsByName()

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<div class="div1">
    <p name="littleP" class="p1">hello p</p>
    <div class="div2">hello div
         <div>div3</div>
         <a href="">click</a>
    </div>
    <span>span</span>
</div>
<span>spanspanspanspan</span>
<div>hhhhh</div>

<script>
    var ele=document.getElementById();
   var ele=document.getElementsByClassName("p1")[0];

    console.log(ele);
   console.log(ele.nodeName);
   console.log(ele.nodeType);
   console.log(ele.nodeValue);
   console.log(ele.innerHTML);
   ele.innerHTML="hello world";

   var p_ele=ele.parentNode;
   console.log(p_ele.nodeName);
    var b_ele=ele.nextSibling;
   console.log(b_ele.nodeName);

    var b_ele2=ele.nextElementSibling;
   console.log(b_ele2.nodeName);
   console.log(b_ele2.innerHTML);

   var ele3=document.getElementsByClassName("div1")[0];
   console.log(ele3.children[1].children);

    eg:
    var ele4=document.getElementsByName("littleP")[0];
   var ele5=ele4.nextElementSibling;
   console.log(ele5.innerHTML);
   console.log(ele5.innerText);

   ele5.innerHTML="<h1>YUAN</h1>";

    //局部查找仅getElementsByClassName和getElementsByTagName两种方法

     var ele6=document.getElementsByClassName("div1")[0];
     var ele7=ele6.getElementsByTagName("span");
    console.log(ele7[0].innerHTML)
</script>

</body>
</html>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值