JavaScript(JS)笔录
简介:
- 
 - 
JS运行在浏览器中,负责实现网页中的动画效果
 - 
实现表单校验等功能
 
特点:
- 
JS--直译式的语言(边解释边执行,没有编译过程)
—— java ——>编写时XX.java ——>编译成XX.class ——>运行class文件
—— JS ——>编写时html ,js文件,直接运行 ,没有编译过程
 - 
JS--基于对现象的语言(没有类的概念,没有编译过程)
—— JS中有对象(内置对象、自定义对象)
 - 
JS--弱类型的语言(Java-强类型)
 - 
java中: 变量一但声明,就属于固定的数据类型,数据类型不能改变
String s = “abc”;
int i = 2; - 
JS 中: 变量不区分类型,可以指向任意数据类型(所有的数据类型都用 var 表示)
var v = 100;
v = “abc”;
v = true;
v = [];
v = function(){} 
优势:
- 
JS具有良好的交互性
 - 
JS具有一定的安全性(只能在浏览器内部运行,不能访问浏览器以外的资源)
 - 
JS具有跨平台性(JS 浏览器)
—— JS语言是跨平台的,因为有浏览器,但是浏览器不跨平台
—— java语言是跨平台的,因为有虚拟机,但是虚拟机不跨平台
 
JS的书写方式(HTML)
JS工程、文件
创建Web静态工程(Static Web Project)
在script标签内部书写Js代码
- 
head或者body标签内部添加script标签
 - 
在script标签内部直接书写JS代码
 
通过script*标签引入外部的JS文件
- 
head或者body标签内部添加script标签
 - 
通过script标签引入外部的JS文件 (src引入)
 
- 
在引入js文件的Script标签内部不要书写JS代码
 
- 
引入JS文件的script标签不能自闭,会导致文件引入失败
 
</script>
- 
JS文件中 声明一个变量 用document.write(); 输出到浏览器上
var v = “方式二”;
document.write(v);
 
在元素上直接书写JS代码
- 
onclick属性用于给当前元素绑定点击事件(点击元素就会触发事件,执行函数)
 
<input type="button" value="你好~" onclick="alert('你好朋友!!!')"/>
- 
console.log(); 输出在浏览器中的控制面板 console 页面上 ( F12 )
 
<input type="button" value="不好~" onclick="console.log(new Date())"/>
JavaScript(JS)语法
基本数据类型
数值类型(number)
- 
在JS中,所有的数值在底层都是浮点型, 需要时,处理和显示的过程中会自动转换成整形
 
—— alert(3.2+2.8); 结果是6,而不是6.0,自动由底层浮点型转换成整形
—— 特殊值: Infinity(无穷大) / -Infinity(负无穷大) / NaN(非数字)
字符串类型(string)
- 
在JS中,字符串类型属于基本数据类型,字符串常量可以使用单引号或者双引号引起来
 - 
string 首字母小写
 
—— var s =“Hello”;
—— var s =’Hello’;
- 
JS中字符串类型有对应的包装对象(String),在需要时会自动和包装类进行转换
 
 var s = "Hello Js";    //基本数据类型
 console.log( typeof s);   //这里用typeof输出看类型    s输出string
 
 var s1 = new String("hello Js");    //复杂数据类型   创建对象  (对象.调用)
 console.log( typeof s1)  //这里用typeof输出看类型   s1输出object
 
 /* s 和 s1 都可以当做对象 来调用函数 */
 console.log( s.valueOf());   //  在需要的时候,s是基本数据类型,会自动转换成对象 进行调用
 console.log( s1.valueOf());
布尔类型(boolean)
- 
布尔类型的值有两个
——true
——false
 
undefined类型
- 
值只有一个(undefined)表示变量未定义
——变量未定义(不是指变量没有声明)
 - 
指明了变量,但没有为变量赋值,该变量的值就是undefined
 
 var x;
 alert( x ); // undefined
复杂数据类型
- 
主要指对象(JS的内置对象、自定义的对象、函数、数组)
 - 
复杂的数据类型Object
 
变量声明(var)
- 
JS中通过var关键字声明变量
 - 
声明的变量不区分类型,可以指向任意数据
 
 var x = 100;
 x = "abc"  
 x = "abc";
 x = [1,2,3,];
 x = function(){}
 x = new Object();
 x = {};
JS运算符
- 
JS和Java中的运算符大致相同
 
 算术运算符: +,-,*,/,%,++,--
 赋值运算符: =,+=,-=,*=,/=,%=
 比较运算符: ==,!=,>,>=,<,<=
 位运算符: & , |
 逻辑运算符: && ,||   ( false && 表达式, true || 表达式 )
 前置逻辑运算符: ! (not)
 三元运算符: 表达式 ? 表达式 : 表达式
JS语句
- 
JS中的语句和Java中的语句也大致相同
 
if分支结构
- 
if分支结构用于基于不同的条件来执行不同的动作
 - 
prompt( 参数1, 参数2 )函数:在页面上弹出一个消息输入框
- 
参数1: 接收的参数1是在弹框中显示的提示内容;
 - 
参数2: 输入框中的默认值,可修改;
 - 
用户输入的内容,会作为函数的返回值直接返回;
 
 - 
 
 var score = prompt("");
 if (条件 1) {
   条件1成立(当条件1为true时执行的代码)
 } else if (条件 2) {
   条件2成立(当条件2为true时执行的代码)
 } else {
   以上条件都不成立(当条件 1 和 条件 2 都不为 true 时执行的代码)
 }
switch语句
- 
选择要执行的多个代码块之一
 
  switch (n) {
   case 1:
         执行代码块 1
         break;
   case 2:
         执行代码块 2
         break;    
   ...
   default:
         与 case 1 和 case 2  不同时执行的代码
  }
设置表达式n(通常是一个变量)
for循环语句
- 
循环代码块一定的次数
 
for (语句1 ; 语句 2 ; 语句3) {
		被执行的代码块
}
while循环
在指定条件为真时循环执行代码块
JS中while循环也分为while和do while循环
- while (条件) {
- 		需要执行的代码
- }
JS数组
JS数组的声明方式一:
- 
声明一个空数组,长度为零
 
var arr1 = [] ;
- 
声明一个数组,并为数组设置初始值
 
var arrr2 = [“Hello”, 111, false, new Object() ] ;
JS数组的声明方式二:
Array 对象用于在单个的变量中存储多个值。
- 
声明一个空数组,长度为零
 
var arr3 = new Array () ;
- 
声明一个数组,并为数组设置初始值
 
var arrr4 = new Array ( “Hello”, 111, false, new Object() ) ;
数组中的细节问题:
- 
JS中的数组可以存储任意类型的数据
 - 
JS中的数组长度是可以被任意改变的
 
var arr1 = [];
console.log("此处数组的长度为: "+arr1.length ); // 0
arr1.length = 5;
console.log("此处数组的长度为: "+arr1.length ); // 5
arr1[9] = "a";
console.log("此处数组的长度为: "+arr1.length ); // 10
arr1[99] = "b";
console.log("此处数组的长度为: "+arr1.length ); // 100
JS函数
- 
函数就是一个具有功能的代码块,可反复调用
 - 
函数:包裹在花括号中的代码块,前面使用关键词 function
 
JS中声明函数的方式:
function 函数名称([参数列表]) {
  	函数体
}
---------------------------------------------------------------------
var 变量名/函数名 = function ([参数列表]){
		函数体
}
                    
                
                
            
        
浙公网安备 33010602011771号