9.9-9.13笔记

ECMAScript是JavaScript标准规范 所以ES=JS
(es是标准)
(js是实现)
JS:ES/DDM/BOM
(DDM是文档对象、)
(BOM是浏览对象、)
JS(解释型语言)
特点:不用编译、直接运行
JS:①类似于C、java
②动态语言(变量的值任意可变)
③基于原型的面向对象


JS的劣势(运行较慢),原因是?


1)我们的JS代码需要编写到


  1. 自上而下

5)JavaScript时严格区分大小写的,也就是abc和Abc会被解析器认为是两个不同的东西
6)JS中的注释和Java的一致,分为两种:
-单行注释://注释内容
-多行注释:/注释内容
7)标识符可以是按照下列格式规则组合起来的一或多个字符:[同java用法]
-第一个字符必须以字母、下划线(
)或一个美元符号($)开头
-其他由字母、下划线、美元符号或数字组成
8)ECMAScript标识符采用驼峰命名法
eg:loveEnglishClass[第一个字母小写,每个单词的首字母大写]
9)但是要注意的是JavaScript中的标识符不能是关键字和保留字符
int a=10;
string a=“wo”;
var a=10;
var a=“yw”;
10)JavaScript中一共有5中基本数据类型
-字符串型(String)
-数值型(Number)
-布尔型(Boolean)
-null型(null)
-undefined(Undefined)
这5中之外的类型称为Object
JavaScript中共有六中数据类型


11)变量和字面量(常量) 变量:可以更改的量 ?常量不占内存【动态分配内存,静态分配内存】
var age=80;//变量可以描述字面量
var 于洋=789;//js底层utf-8 不建议这样用
console.log(于洋);
12)String用于表示一个字符序列,即字符串。
字符串需要使用 ’或“ 括起来。
双引号里不嵌套双引号
单引号里不嵌套单引号
双引号号里可以嵌套单引号
\n 换行
\ 斜杠
\t 制表
\’ 单引号
\b 空格
\” 双引号
\r 回车
三个\要输入6个\


1)Number表示的数字大小是有限的,范围是: ±1.7976931348623157e+308 如果超过了这个范围,则会返回±Infinity
NaN,即非数值(Not a Number)是一个特殊数值
10进制转2、8、16


var a=99;//number类型
    var a="你好";// 字符串 string 
    var a=false;//布尔型 boolean :true    false
var a=true;

//boolean–>number
true:1 false:0


var b=false;

a=a+2;//ture=1 1+2=3
b=b+7;//false=0 0+7=7
console.log(a);
console.log(b);//
console.log(typeof a);//boolean
console.log(typeof b);//string

<script type="text/javascript" >
		var yy=10;//声明直接赋值
		
		var yy;//先声明后赋值
		yy=10;
		
		var age=80;//变量可以描述字面量
		var 于洋=789;//js底层utf-8  不建议这样用
		var a='\\\\我说:\"你好\"';
		console.log(于洋);
		console.log(a);
		console.log(typeof age);
		var b=typeof("wo ");
		console.log(typeof b);
       	var a=99;//number类型
       	var a="你好";// 字符串 string 
       	var a=false;//布尔型 boolean :true    false

		var a=true;//boolean-->number   true:1  false:0
		var b=false;
		
	    a=a+2;//ture=1  1+2=3
	    b=b+7;//false=0  0+7=7
	  
	    
		console.log(a);
		console.log(b);//
		console.log(typeof a);//boolean
		console.log(typeof b);//string
		console.log(Number.MIN_VALUE);//最小值是>0的最小值
		console.log(Number.MAX_VALUE);//最大值1.7976931348623157e+308
		console.log(-Number.MAX_VALUE);//-1.7976931348623157e+308
		console.log(Number.MAX_VALUE*Number.MAX_VALUE);//Infinity
		//最大值的平方如果超过了这个范围,则会返回± Infinity。
		console.log(-Number.MAX_VALUE*Number.MAX_VALUE);//-Infinity
		var message;
		mv=99;
		console.log(message);//undefined:未定义或者不赋值的时候显示的都是未定义
		console.log(mv);//99
		//是typeof对没有初始化和没有声明的变量都会返回 undefined。
		//实际上现在是只有未赋值的才返回undefined
		//从语义上看null表示的是一个空的对象。所以使用typeof检查 null会返回一个Object。 
		console.log(typeof null);//"object"
		//undefined值实际上是由null值衍生出来的,所以如果比较 undefined和null是否相等,会返回true
		  a=10;
	    b=3;
	    c=a/b;
	    console.log(c);//3.3333333333333335  除法  C语言里是整除
	    a=700;
	    b=13;
	    c=a%b;//使劲买 还剩多少钱
	    console.log(c);

		当鼠标移入的时候,把div的style的display变成block
		getElementByid()
		js:把右边的东西,放在左边里

	<style>
		#div1{
			color: red;
			font-size: 30px;
		}		
	</style>

	<label  
			onmouseout="document.getElementById('div1').style.display='none'" 
			onmousemove="document.getElementById('div1').style.display='block'" />
		<input type="checkbox" />自动登录
	</label>
	<div id="div1"">不要在网吧</div>

13.练习变色

<div id="q" onmouseover="document.getElementById('q').style.width='200px';
						document.getElementById('q').style.height='200px';
						document.getElementById('q').style.display='block';
					document.getElementById('q').style.backgroundColor='yellow'"
			onmouseout="document.getElementById('q').style.width='100px';
						document.getElementById('q').style.height='100px';
						document.getElementById('q').style.backgroundColor='red'">
</div>

14 tostring()强制转换为字符型

var a=14;
b=a.toString();
console.log(b);
console.log(typeof b);
var a=true;
a=a.toString();
console.log(a);
console.log(typeof a);

	/*
	 * for语句,也是一个循环语句,也称为for循环
	 * 	在for循环中,为我们提供了专门的位置用来放三个表达式:
	 * 		1.初始化表达式
	 * 		2.条件表达式
	 * 		3.更新表达式
	 * 
	 *  for循环的语法:
	 * 		for(①初始化表达式;②条件表达式;④更新表达式){
	 * 			③语句...
	 * 		}
	 * 
	 * 		for循环的执行流程:
	 * 			①执行初始化表达式,初始化变量(初始化表达式只会执行一次)
	 * 			②执行条件表达式,判断是否执行循环。
	 * 				如果为true,则执行循环③
	 * 				如果为false,终止循环
	 * 			④执行更新表达式,更新表达式执行完毕继续重复②
	 */
	
	//创建一个执行10次的while循环
	//初始化表达式
	/*var i = 0;
	
	//创建一个循环,定义条件表达式
	while(i < 10){
		//设置更新表达式
		alert(i++);
	}*/
	
	for(var i = 0 ; i < 10 ; i++ ){
		alert(i);
	}
	
	/*
	 * for循环中的三个部分都可以省略,也可以写在外部
	 * 	如果在for循环中不写任何的表达式,只写两个;
	 * 	此时循环是一个死循环会一直执行下去,慎用
	 * 	for(;;){
			alert("hello");
		}
	 */

var i=1;
var n;
var j=0;
var sum=1;
for(i=2;i<=0;i++){
for(n=2;n<i;n++){
if(i%n==0){
break;
}
}
if(n>=i){//flag=true
console.log(i+“是质数”);
}
}

/*

  • JS中数据类型
    * - String 字符串
    * - Number 数值
    * - Boolean 布尔值
    * - Null 空值
    * - Undefined 未定义
    * - 以上这五种类型属于基本数据类型,以后我们看到的值
    * 只要不是上边的5种,全都是对象
    * - Object 对象
    *
    *
    * 基本数据类型都是单一的值"hello" 123 true,
    * 值和值之间没有任何的联系。
    *
    * 在JS中来表示一个人的信息(name gender age):
    * var name = “孙悟空”;
    * var gender = “男”;
    * var age = 18;
    * 如果使用基本数据类型的数据,我们所创建的变量都是独立,不能成为一个整体。
    *
    * 对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性。
    * 数组:相同数据类型的有序集合
    *
    * 对象的分类:
    * 1.内建对象
    * - 由ES标准中定义的对象,在任何的ES的实现中都可以使用
    * - 比如:Math String Number Boolean Function Object…
    *
    * 2.宿主对象
    * - 由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象
    * - 比如 BOM【浏览器对象】 DOM【文档对象】 doument.write() console.log()
    *
    * 3.自定义对象
    * - 由开发人员自己创建的对象
    *
    */

//1.创建对象

/*
* 使用new关键字调用的函数,是构造函数constructor 在堆中开辟内存 在栈中放的是堆的地址 通过地址操作堆中的内容值
* 构造函数是专门用来创建对象的函数
* 使用typeof检查一个对象时,会返回object
*/

	var yy = new Object();
	
	console.log(typeof obj);//object
	/*
	 * 在对象中保存的值称为属性
	 * 向对象添加属性
	 * 	语法:对象.属性名 = 属性值;
	 */
	
	//向obj中添加一个name属性
	yy.name="yolanda";
	//向obj中添加一个gender属性
	yy.gender="女";
	//向obj中添加一个age属性
	yy.age=17;
	
	/*
	 * 读取对象中的属性
	 * 	语法:对象.属性名
	 * 
	 * 如果读取对象中没有的属性,不会报错而是会返回undefined
	 */
	
	//console.log(yy.gender);//“女”
	//console.log(yy.hello);//undefined
	
	/*
	 * 修改对象的属性值
	 * 	语法:对象.属性名 = 新值
	 */
	yy.name = "tom";
	console.log(yy.name);
	
	/*
	 * 删除对象的属性
	 * 	语法:delete 对象.属性名
	 */
	delete yy.name;
	
	
	console.log(yy.age);//17
	console.log(yy.name);//undefined  被删掉的属性
	
	
	
</script>
</head>
/*
 * 创建一个函数,用来计算三个数的和
 * 
 * 可以使用 return 来设置函数的返回值
 * 	语法:
 * 		return 值
 * 
 * 	return后的值将会会作为函数的执行结果返回,
 * 		可以定义一个变量,来接收该结果
 * 
 *  在函数中return后的语句都不会执行
 * 
 * 	如果return语句后不跟任何值就相当于返回一个undefined,
 * 	如果函数中不写return,则也会返回undefined
 * 
 * 	return后可以跟任意类型的值
 * 
 */
function sum(a , b , c){
	//alert(a + b +c);
	
	var d = a + b + c;
	
	return d;//d=4+8+7=19
	
	//return undefined;
	
}

//调用函数
//变量result的值就是函数的执行结果
//函数返回什么result的值就是什么

var result=sum(4,7,8);

//var result = alert("hello");

console.log("result = "+result);//19

说出以下代码的执行结果

=========================================

var a = 123;
function fun(){
alert(a);

}
fun();

=========================================

var a = 123;//全局
function fun(){
alert(a);
var a = 456;//局部变量
}
fun();
alert(a);

=========================================

var a = 123;
function fun(){
alert(a);
a = 456;
alert(a);
}
fun();
alert(a);//456

=========================================

var a = 123;
function fun(a){
alert(a);
a = 456;
}
fun();
alert(a);//456

=========================================

var a = 123;
function fun(a){
alert(a);
a = 456;
}
fun(123);
alert(a);

29.- 形参和实参【定义形参 调用实参】

  • 形参:形式参数
    - 定义函数时,可以在()中定义一个或多个形参,形参之间使用,隔开
    定义形参就相当于在函数内声明了对应的变量但是并不赋值,
    形参会在调用时才赋值。

      - 实参:实际参数
      	- 调用函数时,可以在()传递实参,传递的实参会赋值给对应的形参,
      		调用函数时JS解析器不会检查实参的类型和个数,可以传递任意数据类型的值。
      		如果实参的数量大于形参,多余实参将不会赋值,
      		如果实参的数量小于形参,则没有对应实参的形参将会赋值undefined
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值