JavaScript基本知识点
来源:互联网 发布:btspread新域名 编辑:程序博客网 时间:2024/06/03 21:06
JavaScript
1. JavaScript: 是基于对象和事件驱动的脚本语言,主要应用在客户端.
|--基于对象:JavaScript中提供了很多的对象,我们可以直接使用这些对象。
|--事件驱动:html是静态网页,JavaScript可以实现动态效果
|--客户端:主要指的是浏览器(Browser)
2.JavaScript的特点:
|-- 交互性(信息的动态交互)
|-- 安全性(不可以直接访问本地硬盘)
|-- 跨平台性
*** js 只要是由浏览器都支持js代码,通过浏览器就可以直接执行。
*** java 是要通过JVM编译成字节码文件,在执行。
3. JavaScript于Java的不同
|-- js是网景公司开发的,Java是Sun公司开发的。
|-- JavaScript是基于对象的,Java是面向对象
|-- JavaScript只需解析就可以执行,而Java需要先编译成字节码文件,再执行。
|-- JavaScript 是一种弱类型语言,Java是强类型语言。
java例子:int i = 0; String str = "123"; boolean flag = true;
js例子:var i = 2; var str = "123"; var flag = true;
4.JavaScript的组成
|-- ECMAScript :ECMA是一个欧洲的组织协会。主要是制定一些规范。比如语法。
|-- BOM: (Browser Object Model) 浏览器对象模型
|-- DOM:(Document Object Model)文档对象模型
5.JavaScript与html的结合方式(两种)
|-- HTML 的 <script>标签,把 JavaScript插入 HTML页面当中
<body>
<script type="text/javascript">
alert(123);
</script>
</body>
|-- 通过 HTML的 <script>标签,导入外部js文件
***必须要先有这个js文件
<body>
<script type="text/javascript" src="1.js">
//alert("AAAAAA"); --导入文件的方式,就不能在标签中写js代码,写了也不会执行。
</script>
</body>
6. JavaScript的语法种类
|--(1)关键字:被赋予了特殊含义的单词 (凡是在标签中写的js代码,变颜色的就是关键字)
|--(2)标示符:用于标识数据和表达式的符号。(变量var **、函数名 function **)
|--(3)JavaScript的注释:
***java注释://单行注释、/* */ 多行注释、/** */文档注释
***js注释://单行注释、/* */ 多行注释
|--(4)数据类型
***java基本数据类型:byte short int long float double char boolean
***js原始数据类型(5种)
number、string、boolean、undefined、null
undefined: 变量定义了未初始化/访问对象不存在属性.
null:访问的对象不存在
-- 通过typeof运算符,查看变量类型
typeof(变量名);
|--(5)变量:标识内存中一片空间,用于存储数据,数据是可以变化的。
例子:var x=4、var y = "4"、 var z = true
js是统一通过var关键字来定义变量的,变量类型是通过值来确定的。
|--(6)语句
*** java语句:if...else; switch; (for、while、do-while)
*** js 语句:if...else; switch; (for、while、do-while)
注意:js中switch语句数据类型都是支持的
|--(7)运算符
*** java中做运算(小数和整数都是数字类型,所以除法中没有整数,会出现小数)
int a = 234;
System.out.println(a/1000*1000); //结果是0
*** js中做运算
var a = 234;
alert(a/1000*1000); //234
*** 字符串类型在"+"运算时,是和java一样的;表示连接;在做"-"运算时,结果是相减的值
*** js中的boolean类型是可以做加、减运算的。true的值在做加减运算时值是1;false的值是0;
*** "==" 在js中表示的值相同;"==="在js中表示的值和类型都要相同
|--(8)数组
***第一种定义数组方式
例子:var arr = [1,4,6]; var arr1 = [1,"we",true];
js中即可以定义相同数据类型元素的数组,也可以定义不同数据类型元素的数组。
***第二种定义数组方式
例子:
var arr2 = new Array(3);
arr2[0] = "qw";
arr2[2] = true;
alert(arr2);
通过Array对象来定义数组,动态赋值
***第三种定义数组方式
例子:
var arr3 = new Array(2,"abc",false);
alert(arr3);
通过Array对象来定义数组,直接赋值
数组有属性length来获取数组的长度.
|--(9)函数
***第一种定义函数方式
格式:function 函数名(a,b...){
函数体;
return 返回值;
}
调用函数:
函数名(a,b...);
alert(函数名(a,b...));有返回值的
注意:函数中的参数不能加var. 想有返回值,直接return XXX。
***第二种定义函数方式(匿名函数)
格式:var XXX = function(a,b...){
函数体;
return 返回值;
}
例子:var add4 = function(a,b){
var sum = a+b;
alert(sum);
}
调用函数:
add4(4,5);
***第三种定义函数方式(动态函数:通过内置对象Function定义)
格式:var XXX = Function(参数列表,函数体);
例子:var canshu = "a,b";
var hanshuti = "var sum = a*b; alert(sum)";
var add5 = Function(canshu,hanshuti);
add5(4,5);
调用函数:
add5(4,5);
|--注意:js中不存在重载,如果调用相同函数名但参数不同的函数时,执行的是最后一个函数
调用时传递的参数如果大于等于最后一个函数定义的参数个数时。会执行出结果
调用时传递的参数如果小于最后一个函数定义的参数个数时。会报NaN(表示不是一个数字)
例子: function add11(a,b){
alert(a+b);
}
function add11(a,b,c){
alert(a+b+c);
}
function add11(a,b,c,d){
alert(a+b+c+d);
}
调用:
add11(2,3); //NaN
add11(2,3,4); //NaN
add11(2,3,4,5); //14
如何自定义实现类似于java中的重载,通过arguments数组来实现。因为调用函数传递的参数都保存在arguments数组里面。
例子:
var sum = 0;
function add1(){
for(var i = 0; i<arguments.length ; i++){
sum+=arguments[i];
}
alert(sum);
}
|--(10)全局变量与局部变量
*** 全局变量:作用于整个<script>标签.在网页被关闭后,变量才会失效。
例子:<script type="text/javascript">
var a = 10; //全局变量
alert("函数外:"+a);
function getA(){
alert("函数内:"+a);
}
getA();
</script>
<script type="text/javascript">
alert("另一个script标签:"+a)
</script>
*** 局部变量:作用于函数体。即在函数体中有效
例子:<script type="text/javascript">
var a = 10; //全局变量
//alert("函数外:"+b); --解析时报错undefind
function getA(){
var b = "CC";
alert("函数内:"+b);
}
getA();
</script>
<script type="text/javascript">
alert("另一个script标签:"+b); ----解析时报错undefind
</script>
|--(11)<script>标签存放的位置
标准的位置是放在</body>结束标签的外面(下面)
例子:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
var text1 = document.getElementById("id1");
alert(text1.value);
</script>
** 注意:放在<head>中,会出现取不到html中标签值。因为html在解析时,是从上往下解析的。
这时输入的文本框标签还未加载,因此取不到值,会报NULL错误.
</head>
<body>
<input type="text" name="name1" id="id1" value="aaa" />
</body>
<script type="text/javascript">
var text1 = document.getElementById("id1");
alert(text1.value);
</script>
** 放在此处,可以取到值
</html>
- JavaScript基本知识点
- javascript基本知识点
- 【JavaScript学习笔记】基本知识点
- javascript基本知识点梳理总结
- javaScript知识点-----原生Ajax的基本用法
- Java复习第一天---Javascript的基本知识点
- javascript知识点函数及对象的基本介绍
- 基本知识点
- 基本知识点
- 基本知识点
- 基本知识点
- javascript 知识点
- javascript知识点
- javascript知识点
- javascript知识点
- JavaScript知识点
- javascript知识点
- JavaScript知识点
- Java 数据转换报Caused by: java.lang.NumberFormatException: Invalid double: "xxx"
- Linux(3)——了解进程和PCB的概念
- JavaScript 闭包究竟是什么
- 设计模式----工厂模式
- java四种内部类详解
- JavaScript基本知识点
- Linux(4)——进程的创建
- mysql创建远程管理用户
- Java面试总结
- 努力向前,年轻人
- Linux(5)——进程的状态(非常详细)
- 关于ESM Flag问题
- Python爬虫和情感分析简介(现在基本都用深度学习做情感分析了)
- PCA、范数课堂笔记