JavaScript基础------学习笔记

it2022-05-05  94

JavaScript

js的简介

javascript是基于对象和事件驱动的脚本语言,主要应用在客户端(浏览器)

js有什么用?

用来实现逻辑,动态网页

js的特点:

交互性(信息的动态交互)

安全性(不可以直接访问本硬盘)

跨平台性(只要是可以解析js的浏览器都可以执行,和平台无关)

js和java不同(一点关系都没有)

Netscape(网景公司),之间是静态的效果。livescript(javascript的前身)

java诞生了,升级了,改名(javascript),火了。

巨头微软:自己开发了一套(jscript)

找一些公司推出的标准: SUN 微软 ECMA(欧洲计算机制造协会),联合推出现在的标准。

ECMAScript标准。基础上扩展。

js是基于对象,java是面向对象。

js解析就能执行,java要先编译再执行

js是弱类型的语言,java是强类型的语言

int a = 5; a = "str"

js的组成

ECMAScript 标准(js的语法,变量,函数)BOM (Browser Object Model)浏览器对象模型DOM (Documen Object Model)文档对象模型

js的语法

把js和html结合(2种)

HTML的文件提供了一个标签script,标签能放在任意位置

<script type="text/javascript"> // js的代码 alert("hehe"); //弹出一个提示框 </script>

引入外部文件,有一个外部文件。编写js文件

<script src="引入的文件(路径)"></script> 如果script通过src的属性引入了外部文件,里面的js代码就不会执行了(重点,引入外部文件,就不再标签里面写代码了) <script type="text/javascript" src="demo.js"> // js的代码 alert("hehe"); //弹出一个提示框 //只会弹出文件的内容,alert("hehe")不应该写 </script>

一个获取span的内容并弹出的内容

<span id="spanId">你好我是span</span> <script type="text/javascript"> //弹出span种的内容 alert(document.getElementByI("spanId").innerHTML); </script>

script这里要放到span的后面。因为从上到下执行,可以用浏览器的f12调试

关键字

var 声明变量

标识符

和java一样

注释

和java一样

变量

声明变量,只使用一个关键字 var

var num = 1234; var str = "aaa"; num = "aaa";

5种基本数据类型

Undefined 未定义(声明变量,没有赋值)

Null 空,给引用赋值的

Boolean 布尔类型

Number 不区分整数和小数

String js中双引号和单引号代表的都是字符串

var str = "aaa" //字符串 var str ='abc'; var num = 5; //数字类型 var num = 5.5; var flag = true; //布尔类型 var flag = false; var date = null; //null,date就是引用类型 var un; //未定义

js中不同类型数据可以赋值

var num = 14; alert(num) num = "aaa"; alert(num);

typeof() 判断当前变量是什么类型的数据

var num = 14; alert(typeof(num)); num = "aaa"; alert(typeof(num));

运算符

算术运算符

加减法

var num = 3710; alert(num/1000*1000); //3710 var str = "12" alert(str + 1 ); //121 alert(str -1 ) //11 alert("abc" -1 ) //NaN非法的数字

0或者null是false,非0或者非null是true,默认用1表示

alert(true + 1); //2 现在true解释为1 alert(false + 1); //1 现在false解释为0 if(5){ alert("abc"); //能弹出来 }

赋值运算符

和java一样

比较运算符

== 比较值是否相同

=== 比较值和类型是否相同

var num = 15; var str ="15"; if(num == str){ alert("两等号"); } if(num === str){ alert("三等号"); }

逻辑运算符

和java中一样

三元运算符

条件?值1:值2

语句

判断语句

if(){ }else if(){ }else{ } var num = 4; if(5 == num){ //尽量把常量放在前面,可以检查错误 alert("abc"); }

循环语句

for (var i =0 ; i<3; i++) { //alert(i); window.document.write("i = " + i + "<br />"); } //while类似

九九乘法表,把表格输出到网页

document.write("<table border='1' width='100%' cellpadding='10'>"); //99乘法表 for(var i =1; i<=9 ;i++){ document.write("<tr>"); for(var j = 1 ; j<=i ;j ++){ window.document.write("<td>" + j + " * " + i + " = " + (j*i) + "</td>"); } //换行 //window.document.write("<br />") document.write("</tr>"); }

js的数组(js唯一的容器)

java String [] str ={}; js var = [];

数组的声明

var arr=[11,22,33]; var arr = new Array(5); //长度是5 var arr = new Array(2,3,4); //元素是2 3 4

数组的属性

长度:length

数组的长度可变的

var arr = [12,22,33]; alert(arr.length) //3 document.write(arr + "<br />"); arr[4] = 99; arr[5] = "abc"; document.write(arr);

js的方法

java中 public String 方法名称(参数列表){} js中,通过关键字 function 方法名称(参数列表num,str){ //参数列表不用写var 方法体; return; } function add(){ alert("你好"); } add(); function add2(num1,num2){ return num1 + num2; } window.document.write(add2(1,2));

js中没有重载

add2(1,2,3,4); //3,参数不丢失也不报错,因为参数列表arguments是个数组,直接获取前两个 alert(arguments.length) //2

方法也是对象

function getSum(){ return 100; } var sum = getSum; //拿到的是引用 alert(sum); //弹出方法体

最新回复(0)