zoukankan      html  css  js  c++  java
  • JS基础

    web包括:html css javascript(交互)
      html css 形式语言
      javascript 逻辑语言
        客户端的脚本语言
      javascript 基础语法
      javascript Dom操作

    JavaScript基础
    写法分类
    1.内联
      写在标签里面,以事件的属性表现,属性名就是事件属性名
    例子:
      

    <button onClick="alert('点我干嘛')">
        按钮
    </button>

      

    2.内嵌(重点在内容),
      写在html文件里面,以标签的形式表现,标签名为script
      script标签里面的代码会自己执行,从上到下
      格式:

      

    <script type="text/javascript" >具体js代码</script>
    

      

    例如:
      

    <script>
        alert("发什么什么了");
    </script>

    3.外部引用(没有内容只有属性),
      写在html文件里面,以标签的形式表现,标签名为script
      格式:

      

    <script type="text/javascript" src="js文件"></script>
    

      

      javascript 基础语法
    1.注释
      // 单行注释
      或/* */ 多行注释
    关键字
      在代码里也有特殊含义的,如:

      var,do,new,if等

    标识符

      所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。标识符可以是下列格式规则组合起来的一或多个字符:
      1.第一字符必须是一个字母、下划线(_)或一个美元符号($)。
      2.其他字符可以是字母、下划线、美元符号或数字。
      3.不能把关键字、保留字、true、false和null作为标识符。


    变量
      定义 赋值,使用
      先定义再赋值
      通用类型var,可以随便存储其它类型的值,可以直接使用,不用定义,但习惯上定义。
      定义变量:var a;所有变量定义都用var定义,var是通用的可变类型。
    例如:

    var name = '张三';//定义并赋值 
    var nn;
    nn = 'lisi';
    nn = '张三lisi';
    alert(nn);

      

    区分大小写

    2.数据类型  数据类型非常重要 

      强类型语言   定义的时候必须指名数据类型是什么
      弱类型语言   定义的时候不用指明数据类型 全部自动转换

    字符类型

      例如:var name="qwer"; 

    数字类型

      例如:name=123;

    boolean布尔类型

    null类型:空对象类型             

     undefined未定义类型

      

    3. 运算符
    算数运算符
      + - * / %取余 ++自增 --自减

    +运算符

    字符串拼接

    用于把文本值或字符串变量加起来(连接起来)。

    如需把两个或多个字符串连接起来,请使用+运算符

    实例:

    <meta charset="utf-8"> 
    <title>菜鸟教程(runoob.com)</title> 
    </head>
    <body>
      <p>点击按钮创建及增加字符串变量。</p>
      <button onclick="myFunction()">点击这里</button>
      <p id="demo"></p>
      <script>
        function myFunction()
      {
    	txt1="What a very";
    	txt2="nice day";
    	txt3=txt1+txt2;
    	document.getElementById("demo").innerHTML=txt3;
      }
      </script>
    
    </body>
    </html>
    

     结果为:

     

    要想在两个字符串之间增加空格,需要把空格插入一个字符串之中:

    代码为:

    <!DOCTYPE html>
    <html>
    <head> 
    <meta charset="utf-8"> 
    <title>菜鸟教程(runoob.com)</title> 
    </head>
    <body>
    
      <p>点击按钮创建及增加字符串变量。</p>
      <button onclick="myFunction()">点击这里</button>
      <p id="demo"></p>
      <script>
        function myFunction()
      {
    	txt1="What a very ";
    	txt2="nice day";
    	txt3=txt1+txt2;
    	document.getElementById("demo").innerHTML=txt3;
      }
      </script>
    
    </body>
    </html>
    

    或者把空格插入表达式中:

    代码为:

    <!DOCTYPE html>
    <html>
    <head> 
    <meta charset="utf-8"> 
    <title>菜鸟教程(runoob.com)</title> 
    </head>
    <body>
    
      <p>点击按钮创建及增加字符串变量。</p>
      <button onclick="myFunction()">点击这里</button>
      <p id="demo"></p>
      <script>
        function myFunction()
      {
    	txt1="What a very";
    	txt2="nice day";
    	txt3=txt1+" "+txt2;
    	document.getElementById("demo").innerHTML=txt3;
      }
      </script>
    
    </body>
    </html>
    

      

    结果为:

      

    对字符串和数字进行加法运算

    两个数字相加,返回数字相加的和,如果数字与字符串相加,返回字符串,如下实例:

    <!DOCTYPE html>
    <html>
    <head> 
    <meta charset="utf-8"> 
    <title>菜鸟教程(runoob.com)</title> 
    </head>
    <body>
    
      <p>点击按钮创建及增加字符串变量。</p>
      <button onclick="myFunction()">点击这里</button>
      <p id="demo"></p>
      <script>
        function myFunction()
      {
    	var x=5+5;
    	var y="5"+5;
    	var z="Hello"+5;
    	var demoP=document.getElementById("demo");
    	demoP.innerHTML=x + "<br>" + y + "<br>" + z;
      }
      </script>
    
    </body>
    </html>
    

     结果为:

     

    “1”+1+1   =>"111"

    在字符串里面加内容:

    例子:

    在“lisi” “wangwu”中间加“zs”

    var    name    =    "zs";
    "lisi"+name+"wangwu"
    

     在

    '<div id=""></div>'
    

     双引号里面放

    var id="zs"
    的字符串
    

    结果应为:  

     

    var id="zs";
    '<div id="'+id+''"></div>'
    

     在

    "<div id=''></div>"
    

     的单引号里面加 

     

    var id="zs"
    

    结果:

    var id="zs";
    "<div id='"+id+"'></div>"

     利用方法,结合+运算,进行字符串拼接

     例子;

    var name ="张三";
    var str="<div onClick='show(""+name+"")'></div>";
    console.log(str);

    结果:

      

      


    赋值运算符
      = += -= *= /=

      例如;a +=2;   =>a=a+2;
    条件运算符
      < > <= >= != ==判断值相等 ===判断值和数据类型相等
    逻辑运算符  && 并且,两者都为真才输出真

            || 或者,,两者至少一个为真,就为真

            ! 取反,真的反义
    三目运算符? true:false 

    非零的数字为1,真true

    零为假false

     和if判断语句差不多,算是简写的if语句
    4.控制语句
     条件 判断

    If

    格式:

    If(表达式){
      代码
    }else if(表达式){
      代码
    }

    if例子:

    输入一个数判断是在0到100之间

    js代码:

    var number = prompt("输入一个数");
    if(number>=0&&number<=100){
    	alert("是0~100之间的数");
    }else{
    	alert("不是0~100之间的数");
    }
    

     效果为:

     

    例子2:

    输入分数判断是否及格,如果超过80分则输出 “你学的不错,值得表扬!”,如果在50—60分之间则输出“就差一点点,再加把劲”,如果小于50则输出“使劲努力,不要偷懒!”

    js代码:

    var fenshu=prompt("输入你的分数");
    if(fenshu>80){
      alert("你学的不错,值得表扬!");
    }
    else  if(fenshu>=50&&fenshu<=60){   alert("就差一点点,再加把劲"); }
    else  if(fenshu<50){   alert("使劲努力,不要偷懒!"); }
    else{  
      alert("错误"); }

     效果为;

     

    例子3:

    输入性别,身高体重,判断体重是否为标准体重:

    js代码:

    // JavaScript Document
    //输入性别
    var sex = '';
    window.onload = function(){
    	sex=prompt("请输入你的性别");
    	panDuan();//调用判断方法
    }
     //对输入男或者女或者其他字符的判断
    function panDuan(){
    	if(sex=="男"||sex=="女"){
    		sgTz();//如果是男或者女,调用身高体重方法继续输入身高体重
    	}else{
    		alert("错误");//输入内容不对则返回错误
    		xingbie();//调用性别方法,判断输入性别
    	}
    }
    
    //性别
    function xingbie(){
    	sex=prompt("请输入你的性别");//重新输入性别
    	panDuan();//调用判断,判断是否输入的内容正确
    
    }
    //身高体重
    function sgTz(){
    	var shengao=prompt("请输入你的身高");
    
    	var tizhong=prompt("请输入你的体重");
    //判断体重
    	if("男"==sex&&tizhong-shengao+100<=3&&tizhong-shengao+100>= -3){
    	  alert("你的体重为标准体重");
    	}
        else  if("女"==sex&&tizhong-shengao+110<=3&&tizhong-shengao+110>= -3){   alert("你的体重为标准体重"); }
        else{   alert("你的体重不是标准体重"); } }

     结果显示:

     

    switch

    switch(){
    	case():
            break;
        default:
           break;
    }

    例子:

    var day = 1;
    switch(day){
    	case 1:
    		alert(1);
    		break;
    	case 2:
    		alert(2);
    		break;
    	case 3:
    		alert(3);
    		break;
    	default:
    		alert("没有匹配到");
    		break;
    			
    }
    

    结果:

     

    switch里面的值和case里面的值匹配,匹配到,往下找break,
    有就退出,没有就继续往下找,直到结束,

     

     循环:

    for循环

    for(1初始化变量;2条件判断;2变量改变){
      4循环体
    }

    i是循环变量

    顺序:  1->2(不满足)->end
         1->2(满足)->4->3->2

         1->2(满足)->4->3->2(不满足)->end

         1->2(满足)->4->3->2(满足)->4->3->2......

    例子:     

    for(var i =0;i<10;i++){
      console.log(i); }

    在100到999之间有哪几个水仙花数:

    js代码:

    var a=0;//定义个数
    //循环判断是否为水仙花数
    for(var i =100 ;i<999 ;++i){
    	 
    	var x=parseInt(i/100);//取三位数的百位数
    
    	var y=parseInt((i/10)%10);//取三位数的十位数
    
    	var z=parseInt(i%10);//取三位数的个位数
    //定义水仙花数
    	var m="";
    		
    	m=parseInt(x*x*x + y*y*y + z*z*z);
    		
    	if(m == i){
    		console.log(i);//如果循环数字等于水仙花数,输出
    		++a;		//相等,就个数加一
    	}
    }
    alert(a);//输出水仙花个数
    

    结果:
      

    100节楼梯,0-49节 分数等于节数 50以后(包括50)每节10分输入节数 得出分数:

    js代码:

    var i;
    var jieshu=prompt("输入");
    var fenshu=0;
    for(i=0;i<=jieshu;++i){
    	if(i>=100){
    		break;
    	}
    	if(i<50){ 
    		fenshu=i+fenshu ;
    	}else{
    		fenshu=fenshu+10;
    	}
    }
    alert(fenshu);
    

    结果:

      

    0~100之间的数字和为:

    js代码:

    var i;
    var sum=0;
    for(i=0;i<=100;++i){
    	sum +=i;
    }
    console.log(sum);
    

    结果为:  

    100以内与7相关的数:

    js代码:

    var i;
    for(i=1;i<100;i++){
    	
    	if(7==parseInt(i%10)||7==parseInt((i/10)%10)||(i%7)==0){
    		console.log(i);
    	}	
    }
    

    结果:
      

    100元购物卡,牙刷5元,香皂2元、洗发水15元 100元正好花完有多少种可能:

    js代码:

    var ci=0;
    
    for(var a=0;a<=20;a++){
    	for(var b=0;b<=50;b++){
    		for(var c=0;c<7;c++){
    			if(a*5+b*2+c*15==100){
    				ci+=1;
    				console.log("买牙刷"+a+"支,香皂"+b+"支,洗发水"+c+"瓶");
    				
    			}
    		}
    	}		
    }
    console.log("有"+ci+"种可能");	
    

    结果:
      

     

    while循环:

    while(){
    }
    

    例子:

    var i=0;
    while(i<100){
    }
    

      

    do while循环: 

    do{
    }while();
    

     for和while的区别:

         for:循环次数确定

        while:循环次数不确定

     死循环:

    while(true){
    }
    for( ; ;){
    }
    

      

    break,跳出整个循环,结束
    control,跳过本次循环

    break做标记终止循环:

    标记:for( ){

        break 标记;

    }  

    5.数组
    6.方法

    function show(name){
       alert(name);     
    }
    show("张三");  /*方法的调用 */

      


    弹窗:
    alert("发生什么");//告警框
    confirm("确定删除吗");//选择框,有返回值
    prompt("输入内容")有返回值用户输入什么

    例子:

    利用弹窗制作简易计算,让用户输入两个数和一个运算符(加减乘除),输出结果

    js代码:

    var firstname = parseInt(prompt('请输入第一个数'));
    var secondname =parseInt( prompt('请输入第二个数')); 
    
    var fuhao = prompt('请输入运算符'); 
    
    var jieguo;
    
    
    if(fuhao =="+"){
    	jieguo = firstname  + secondname ;
    	alert(jieguo);
    }
    if(fuhao =="-"){
    	jieguo = firstname  - secondname ;
    	alert(jieguo);
    }
    
    if(fuhao =="*"){
    	jieguo = firstname  * secondname ;
    	alert(jieguo);
    }
    if(fuhao =="/"){
    	jieguo = firstname  / secondname ;
    	alert(jieguo);
    }
    

     结果例如:

     判断输入三位数是否是水仙花数

    js代码:

    var a=parseInt( prompt("请输入三位数"));
    var x=parseInt(a/100);
    
    var y=parseInt((a/10)%10);
    
    var z=parseInt(a%10);
    
    var m="";
    m=parseInt(x*x*x + y*y*y + z*z*z);
    
    if( a==m){
    	alert("是水仙花数");
    }else{
    	alert("不是水仙花数");
    }
    

     运行结果:

     

  • 相关阅读:
    Maidsafe-去中心化互联网白皮书
    The Top 20 Cybersecurity Startups To Watch In 2021 Based On Crunchbase
    Top 10 Blockchain Security and Smart Contract Audit Companies
    The 20 Best Cybersecurity Startups To Watch In 2020
    Blockchain In Cybersecurity: 11 Startups To Watch In 2019
    004-STM32+BC26丨260Y基本控制篇(阿里云物联网平台)-在阿里云物联网平台上一型一密动态注册设备(Android)
    涂鸦开发-单片机+涂鸦模组开发+OTA
    000-ESP32学习开发-ESP32烧录板使用说明
    03-STM32+Air724UG远程升级篇OTA(阿里云物联网平台)-STM32+Air724UG使用阿里云物联网平台OTA远程更新STM32程序
    03-STM32+Air724UG远程升级篇OTA(自建物联网平台)-STM32+Air724UG实现利用http/https远程更新STM32程序(TCP指令,单片机程序检查更新)
  • 原文地址:https://www.cnblogs.com/lzw123-/p/9174648.html
Copyright © 2011-2022 走看看