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
原文地址:https://www.cnblogs.com/WhatTTEver/p/6894950.html