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

    JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

      在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为NetscapeSun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与SelfScheme较为接近。
      为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript
     
    什么是JavaScript?
        1. JavaScript 是一种客户端脚本语言(脚本语言是一种轻量级的编程语言)。
        2. JavaScript 通常被直接嵌入 HTML 页面。
        3. JavaScript 是一种解释性语言(就是说,代码执行不进行预编译)。
        特点:
            1. 弱类型
            2. 基于对象。(因为面向对象需要具有封装、继承、多态的特征)
     
    <body>
            <input type="text" id="user" />
            <input type="button" onclick="GETDATA();" value="点我"/>
            <script>
                function GETDATA() {
                    var i = document.getElementById('user');
                    alert(i.value);
                }
            </script>
    </body>
    

    在input框里输入用户名后,点击点我后浏览器窗口弹出刚刚输入的用户名

    两种引用方式:

    *1. 使用<script></script>标签:
        属性:
        charset(可选)字符集设置、
        defer(可选执行顺序)值:defer、
        language(已废除)、
        src(可选)使用外部的js脚本文件
        type(必选)类型:值:text/javascript

      

     <script type="text/javascript">
            <!--
            javaScript语言
            //-->
        </script>
    

    2. 在html标签的事件中,超级链接里。
      

     <button onclick="javaScript语言"></button>
      <a href="javascript:alert('aa');alert('bb')">点击</a>
    


    3. 外部导入方式(推荐):
       

    <script type="text/javascript" src="my.js"></script>
    
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <!--第一种方式引用js文件-->
        <script src="commons.js"></script>
        <!--第二种方式直接写在html中-->
        <script>
            alert('James')
        </script>
    </head>
    

    JavaScript的语法:
    ===========================================
    1.区分大小写:变量名、函数名、运算符以及其他一切东西都是区分大小写的。

    2.他和php一样属于弱类型语言。

    3.每行结尾的分号可有可无。(js中的每条语句之间的分割符可以是回车换行也可以是";"分号(推荐))

    4.脚本注释:
        // 单行注释
        /* 多行注释  */

    5.括号表示代码块:{}

    6.变量的定义:使用var关键字来声明。
       变量的命名规范是:字母数字,$符和下划线构成,但是不可以以数字开始。区分大小写
       变量名不可以使用关键字.
     
       
       typeof函数获取一个变量的类型:
            * undefined - 如果变量是 Undefined 类型的
            * boolean - 如果变量是 Boolean 类型的
            * number - 如果变量是 Number 类型的 (整数、浮点数)
            * string - 如果变量是 String 类型的 (采用""、 '')
            * object - 如果变量是一种引用类型或 Null 类型的 如:new Array()/ new String()...
              funciton -- 函数类型


    字符串记得要加引号

    注:由于加载慢,script一般放在body的最下面

    注释:单行//

      多行/*..*/  

    循环方式:

    for (var item in [11,22,33]){
        console.log(item)
    }
    var arra = [11,22,33,3]
    for (var i=0;i<var.length;i=i++){
     
    while(条件){
    }
    

    1、变量

    JavaScript中变量的声明是一个非常容易出错的点,局部变量必须一个 var 开头,如果未使用var,则默认表示声明的是全局变量

    <script type="text/javascript">
      
        // 全局变量
        name = 'James';
      
        function func(){
            // 局部变量
            var age = 18;
      
            // 全局变量
            gender = "男"
        }
    </script>
    

    2、数字

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

    数据类型:

    undefined 类型
    null 类型(对象)
    boolean 类型
    number 类型
    八进制数和十六进制数 012
    浮点数
    特殊的 Number 值
     string 类型

    bject引用类型
            引用类型通常叫做类(class),也就是说,遇到引用值,所处理的就是对象。
            Object 对象自身用处不大,不过在了解其他类之前,还是应该了解它。
            因为 ECMAScript 中的 Object 对象与 Java 中的 java.lang.Object 相似,
            ECMAScript 中的所有对象都由这个对象继承而来,Object 对象中的所有属性
            和方法都会出现在其他对象中,所以理解了 Object 对象,就可以更好地理解其他对象。

    <script type="text/javascript">
    	var a = 10;
    	document.write(a+"数据类型是:"+typeof(a)+"<br/>");
    	var b = 1.23;
    	document.write(b+"数据类型是:"+typeof(b)+"<br/>");
    	var c = "hello world";
    	document.write(c+"数据类型是:"+typeof(c)+"<br/>");
    	//var d=true;
    	var d = false;
    	document.write(d+"数据类型是:"+typeof(d)+"<br/>");
    	var e = [10,20,30]; //python教列表,js中叫数组
    	document.write(e +"数据类型是:"+typeof(e)+"<br/>");
    	var f = function(){}
    	document.write(f +"数据类型是:"+typeof(f)+"<br/>");
    	var h = new String('int');
    	document.write(h +"数据类型是:"+typeof(h)+"<br/>");
    	var j = null;
    	document.write(j +"数据类型是:"+typeof(j)+"<br/>");
    	document.write("数据类型是:"+typeof(abc)+"<br/>");
    	</script>
    

    转换:

    使用:Number()、parseInt() 和parseFloat() 做类型转换
        Number()强转一个数值(包含整数和浮点数)。

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

    特殊值:

    •  NaN,非数字。可使用 isNaN(num) 来判断。
    • Infinity,无穷大。可使用 isFinite(num) 来判断
    <script type="text/javascript">
    		document.write("1234abc:"+parseInt("1234abc")+"<br/>");
    		document.write("1234abc123:"+parseInt("1234abc123")+"<br/>");
    		document.write("abc123:"+parseInt("abc123")+"<br/>");// NAN not a number
    		document.write("空转成整数:"+parseInt("")+"<br/>");
    		document.write("0X12转成整数:"+parseInt("0X12")+"<br/>");
    		// 16进制的12转成10进制 18
    		document.write("1.6转成整数:"+parseInt("1.6")+"<br/>");
    		document.write("12.00abc:"+parseFloat("12.34abc")+"<br/>");
    	</script>
    

     更多数值计算

     1 常量
     2  
     3 Math.E
     4 常量e,自然对数的底数。
     5  
     6 Math.LN10
     7 10的自然对数。
     8  
     9 Math.LN2
    10 2的自然对数。
    11  
    12 Math.LOG10E
    13 以10为底的e的对数。
    14  
    15 Math.LOG2E
    16 以2为底的e的对数。
    17  
    18 Math.PI
    19 常量figs/U03C0.gif。
    20  
    21 Math.SQRT1_2
    22 2的平方根除以1。
    23  
    24 Math.SQRT2
    25 2的平方根。
    26  
    27 静态函数
    28  
    29 Math.abs( )
    30 计算绝对值。
    31  
    32 Math.acos( )
    33 计算反余弦值。
    34  
    35 Math.asin( )
    36 计算反正弦值。
    37  
    38 Math.atan( )
    39 计算反正切值。
    40  
    41 Math.atan2( )
    42 计算从X轴到一个点的角度。
    43  
    44 Math.ceil( )
    45 对一个数上舍入。
    46  
    47 Math.cos( )
    48 计算余弦值。
    49  
    50 Math.exp( )
    51 计算e的指数。
    52  
    53 Math.floor( )
    54 对一个数下舍人。
    55  
    56 Math.log( )
    57 计算自然对数。
    58  
    59 Math.max( )
    60 返回两个数中较大的一个。
    61  
    62 Math.min( )
    63 返回两个数中较小的一个。
    64  
    65 Math.pow( )
    66 计算xy。
    67  
    68 Math.random( )
    69 计算一个随机数。
    70  
    71 Math.round( )
    72 舍入为最接近的整数。
    73  
    74 Math.sin( )
    75 计算正弦值。
    76  
    77 Math.sqrt( )
    78 计算平方根。
    79  
    80 Math.tan( )
    81 计算正切值。
    View Code

    3、字符串

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

    ① charAt (输入索引位置获取字符)

    >a = 'James'
    <"James"
    >a.charAt(1)
    <"a"
    >a.charAt(2)
    <"m"
    >a.charAt(3)
    <"e"
    

     ② substring (输入起始位置,结束位置获取字符)

    1 >a = 'James'
    2 <"James"
    3 >a.substring(0,2)
    4 <"Ja"
    5 >a.substring(2,5)
    6 <"mes"
    View Code

    ③ lenght (获取当前字符串长度)

    1 >a = 'James';
    2 <"James"
    3 >a.concat('eric');
    4 <"Jameseric"
    View Code

    ⑤ indexOf(子序列位置)

    1 >a = 'James';
    2 <"James"
    3 >a.indexOf('me');
    4 <2
    5 >a.indexOf('es');
    6 <3
    View Code

    ⑥ split (分割字符)

    1 >a = 'JamesaJames';
    2 <"JamesaJames"
    3 >a.split('a');
    4 <["J", "mes", "J", "mes"]
    5 >a.split('a',1);
    6 <["J"]
    7 >a.split('a',3);
    8 <["J", "mes", "J"]
    View Code

    4、布尔值

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

    • ==      比较值相等
    • !=       不等于
    • ===   比较值和类型相等
    • !===  不等于
    • ||        或
    • &&      且
     1 <script type="text/javascript">
     2     /*+ 加法运算  连接*/
     3     //document.write(1+2+"<br/>");
     4     //document.write(1+2+"20"+"<br/>");
     5     // //document.write("1"+2+20+"<br/>");//前面是字符串,后面就是连接
     6     /*++ 自增 --自减*/
     7     var a = 10;
     8     //var b = a++; //10  先把a给b 然后自增+1
     9     //var c = a;
    10     var c = ++a;// 11 先把a自增+1 然后赋值给 c
    11     var d = --c; // 自减
    12     document.write(d);
    13     //=== 全等于 
    14     /*=赋值  ==等于 值相同  ===全等于 值和类型都相同*/
    15 /*    var aa = 10;
    16     var bb = "10";
    17     if(aa === bb){ 
    18         alert('是的,相等');
    19     }else{ 
    20         alert("不相等");
    21     }*/
    22 
    23     var m = 0;
    24     var n = 2;
    25     for(var i=1;i<=10;i++){ 
    26         m+=i;
    27         n *=i; //2*1*2*3*4*5*6*7*8*9*10
    28     }
    29     alert("10的累加值"+m);
    30     alert("10的累乘值"+n);
    31 
    32     //a >>=1 a变量的每一个二进制位顺序右移1位
    33 
    34     /*作业: 把笔记和代码敲一遍*/
    35 
    36     </script>
    View Code
  • 相关阅读:
    学就要学好 就要学明白
    URL的基础
    各种waf识别
    Linux命令行上的上传和下载文件命令
    Linux服务器安全加固(三)
    Linux服务器安全加固(二)
    Linux服务器安全加固(一)
    Centos7配置SNMP服务
    Windows Server 系统通用安全基线配置详细
    Windows Server 2016 部署AD域控制器及添加AD域控制器
  • 原文地址:https://www.cnblogs.com/WhatTTEver/p/6894950.html
Copyright © 2011-2022 走看看