9.9-13

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

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

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

自上而下
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  
            οnmοuseοut="document.getElementById('div1').style.display='none'" 
            οnmοusemοve="document.getElementById('div1').style.display='block'" />
        <input type="checkbox" />自动登录
    </label>
    <div id="div1"">不要在网吧</div>

13.练习变色

<div id="q" οnmοuseοver="document.getElementById('q').style.width='200px';
                        document.getElementById('q').style.height='200px';
                        document.getElementById('q').style.display='block';
                    document.getElementById('q').style.backgroundColor='yellow'"
            οnmοuseοut="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>
1
/*
 * 创建一个函数,用来计算三个数的和
 * 
 * 可以使用 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
1
2
3
说出以下代码的执行结果

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值