js day1

Js1

//1.JavaScript是一种轻量级、解释型的Web开发语言。

//轻量级:弱类型语言,比企业级语言简单。无法操作系统文件。

//解释型:无需任何的环境进行编译。只需要浏览器。依赖浏览器解释。

//2.JavaScript核心组成部分(ECMAscript/BOM/DOM)

//ECMAscript:欧洲的计算机协会组织。发布JavaScript基本的语法标准。

//BOM:浏览器对象模型.window:浏览器打开的一个页面。

//DOM:文档对象模型.document:文档文件。

//3.JS和H5的关系

//h5:html5,是超文本标记语言的第五代版本。

//h5:前端开发。

<!--链接式:将js代码放置在单独的js文件中,通过<script>标签引入-->

              <script type="text/javascript" src="abc.js"></script>

//1.如何引入js,和引入css一致的。

                     //内嵌式:将js代码放置到html页面一起。

                     //document.write('我是内嵌式输出js里面的内容');

                     //链接式:将js代码放置在单独的js文件中,通过<script>标签引入

                     //行内式:不推荐使用。

                    

                     //2.快捷键  ctrl+r预览页面。

                    

                     //3.注释:优化。

                     //当行注释://

                     //多行注释:/*   */

//什么是字符串:由引号包起来的字符。

                    

                     //js里面的分号(可有可无,建议写上,好的编程习惯),代表语句结束了。

                     //如果一行写多个js语句,分号一定要加上。

                    

                     //1.如何定义变量。

                     //var a=5;//定义变量,将变量5存入内存。方便后面进行使用。

                    

                     //变量的值是可变的。

                     var a=10;

                     a=11;

                     alert(a)

                     //变量写入内存。后面随意进行使用。

                    

                     //可以同时定义多个变量,方便后面使用。

                     //var b=10,c=20,d=30;  //一般不推荐

                    

                    

                     //推荐的写法,可读性提高了。

                     //var b=10;

                     //var c=20;

                     //var d=30;

                    

                     //变量不能前置访问。

                     //alert(num);//undefined:未赋值,未初始化。

                     //var num=100;

                     //alert(num);//100

                    

                     //变量是松散类型的,定义变量是无需告之变量的类型。

                     var num1=234;//数字

                     var num2='hello';//字符串

                     var num3=true;//布尔类型。  true真/false假

                    

                    

                     //2.输出值。

                     //alert()://括号里面可以放字符串和变量,以一个弹出框的形式输出。

                     //alert('a');//a  字符串

                     //alert(a);//5  变量

document包括上面的菜单是window对象;

Window可以省略,document不可以省略;

出错时,点击F12检查,有一个红色的❌,点击,则可以出现错误信息

#box{/*属性*/

                            width: 200px;

                            height:200px;

                            background: red;

                     }

//类:一类事物。类的下面就是具体的对象。

                    

                     //对象object:程序的世界里,一切皆对象,对象是具体的。

                     //对象的核心组成:属性+方法。

                     //如何访问对象的属性和方法:

                     //属性的访问: 对象.属性

                     //方法的访问: 对象.方法()

                    

                     //例如:张三  对象。

                     //张三的属性(对象的外观):身高,体重,肤色...    属性一般情况下都是不同的

                     //张三的方法(对象的功能):吃饭,跑步,开车...    方法是相同的

                    

                    

                    

                     //一、学习系统默认对象下面的方法。

                    

                     //1.window:最大的对象,window对象名可以省略。

                     //window.alert('hello,javascript');//弹出信息框.阻止后面的代码继续执行,括号里面可以放在各种类型的数据和表达式。

                     //window.prompt('请输入一个数字:');//弹出输入框,括号里面输入框的提示文字。

                    

                     var name=prompt('请输入一个名字:');

                     alert(name);

                    

                    

                     //2.document:第二大的对象,代表文档。

                     //document.write():将括号里面的内容(标签),输出到浏览器,标签会解析.重新绘制页面。

                     /*document.write('我是输出到浏览器');

                     document.write('<br/>');

                     document.write('<em>我是输出到浏览器</em>');*/

                    

                    

                     //document.getElementById():通过id选择器获取标签对象,括号里面放当前标签的id名称。

                     //Element:标签,元素。

                     //document.getElementById('box'):获取了div

                    

                     //alert(document.getElementById('box'));//[object HTMLDivElement]

             

                     //alert(document.getElementById('strong1'));//[object HTMLElement]

                    

                     //alert(document.getElementById('p1'));//[object HTMLParagraphElement]

                     //alert(document.getElementById('p1').id);//p1

                    

                    

                     //获取a元素,根据a元素找到对应的属性的值。

                     /*alert(document.getElementById('link123').title);

                     alert(document.getElementById('link123').href);

                     alert(document.getElementById('link123').target);*/

                    

                     var a1=document.getElementById('link123');//将对象存入内存。

                     //调用对象,添加属性。

                     alert(a1);//http://www.taobao.com/,特殊的。不会输出元素对象,输出链接的地址。

                     alert(a1.title);//链接的解释

                     alert(a1.href);//http://www.taobao.com/

                     alert(a1.target);//_blank

                            //变量的特性:值是变化的/定义多个/写入内存/松散类型/不可前置访问。

                     //变量的命名:

                     //标识符:自定义的名称符号,见名知意。(不能取关键字和保留字)

                     //关键字:在js里面具有特殊的用途,被使用了。

                     //保留字:为了程序的发展,将一些单词预留下来,以备后用。

                    

                    

                    

                     //1.变量的数据类型

                     //两大类:

                     //基本类型:数字number/字符string/布尔boolean/未定义undefined/空对象null

                     //基本类型里面又有两个特殊类型:未定义undefined/空对象null

                    

                     var num=10;

                     var str='hello';

                     var bool=true;

                    

                     var a=undefined;

                     var b=null;

                    

                    

                     //复合类型(复杂,引用):对象类型object

                     //alert(typeof null);//object

                     //alert(typeof b);//object

                    

                     //2.如何检测数据类型--typeof()  括号可以省略

                     //alert(typeof num);//number

                     //alert(typeof bool);//boolean

                     //alert(typeof str);//string

                     //alert(typeof a);//undefined

                    

                    

                    

                     //3.获取元素对象

                     //alert(document.getElementById('box'));//[object HTMLDivElement]

                     alert(document.getElementById('box123'));//null,此对象不存在。

//1.数学运算符  +  -  *  /  %

                     /*alert(3+2);//5

                     alert(3-2);//1

                     alert(3*2);//6

                     alert(3/2);//1.5

                     alert(3%2);//1*/

                    

                     //%:求余,求模

                     //alert(9%2);//1

                     //alert(2%9);//2,前面的数小于后面的数,求余的结果是前面的数。

                    

                     //不管num是哪个数字,结果都是下面的值,num>=0

                     //alert(num%5);  //0 1 2 3 4

                     //判断奇偶数  num%2==0   

                     //判断是否能够整除。  num%6==0

                    

                    

                     //+:加法运算,字符串的拼接符号。只要+号两边出现字符串,不是加法运算,而是拼接。

                     //alert(2+10);//12

                     //alert(2+'10');//210

                     //alert('a'+'b');//ab

                     //alert(3+'abc');//3abc

                    

                    

                     //alert(5/0);//数学规定,除数不能为0.  infinity:无穷大。

                    

                    

                     //alert(3*'abc');//NaN (not a number:不是一个数字)

                    

                    

                     //alert(0.1+0.2);//0.30000000000000004

                     //alert(0.2+0.4);//0.6000000000000001

                    

                     //alert((0.1*10+0.2*10)/10);//0.3

                    

                     //alert(0.2+0.6);//0.8

                     //alert(0.1+0.3);//0.4

                    

                    

                     //数学运算符具有隐式(自动完成,看不到过程)转换功能

                     //var str='10';

                     //alert(typeof str);//string

                     //alert(typeof +str);//number

                    

                     //alert(3+'6');//'36'

                     //alert(3*'6');//18数学运算符具有隐式

                     //alert(3-'2');//1

                    

                     //总结:+ - / * % 具有隐式转换,+号比较特殊,直接添加在数字的前面。

                     alert(3+'6');//'36'

                     alert(3+ +'6');//9

//javascript使用“ = ”运算符来给变量或者属性赋值(最低优先级)num=num+15;/有两个符号,但+最后执行

              //复合赋值操作 +=、-=、*=、/=、%= 带操作的复合赋值运算。(更快捷,更优)。

             

             

              //赋值运算符 = 将等式右边的结果赋值给左边。

              //var num=10;//将10赋值给num;

              //num=num+15;//将num+15赋值给num;   num+=15

              //alert(num);//25

                           

              //var a=1;

              //a=a+1;//a+=1   复合赋值操作

              //alert(a)//2

             

             

              /*var str='hello';

              str+='world';//str=str+'world';

             

              alert(str);*/

//关系运算符(结果为布尔值) <、>、<=、>=、==、===、!=(不相等)  !==(不全等)

              //alert(5>4);//true 真

              //alert(2>3);//false 假

             

              //==:值相等,具有隐式转换。

              //var num='3';

              //alert(num=3);//赋值  3

              //alert(num==3);//比较值是否相等 true ,隐式转换, 比较的核心是数字。

              //alert(num===3);//恒等,值和数据类型都要相等。 false  类型不相等。

             

             

              //alert(0.1+0.2==0.3);//false

              //alert(0.2+0.5==0.7);//true

             

              //alert(3>=2);//true

              //alert(3<=2);//false

             

              //1.理解==、===运算符之间的区别。

              //alert(undefined==null);//true  js约定。

              //alert(undefined==undefined);//true

              //alert(null==null);//true

              //alert(null==3);//false,和其他的任何值比较都是false

              //alert(undefined=='abc');//false

              //同时js还约定,undefined和null,除了和自己比较之位,和其他的任何值比较都是false

              //alert(undefined===null);//false

              //2.理解相等和恒等运算符

              //==相等:值相等,具有隐式转换

              //===恒等:比较值和类型,不具有隐式转换。

             

              //3.不等

              //!=:不相等

              //!==:不恒等

              alert(0.1+0.2!=0.3);//true

<!--链接式:将js代码放置在单独的js文件中,通过<script>标签引入-->

              <script type="text/javascript" src="abc.js"></script>

//var num1=prompt('请输入一个数字:');

                     //var num2=prompt('请再输入一个数字:');

                     //alert(typeof num1); //string           

                     //alert(typeof num2); //string

                     //alert(+num1 + +num2); //300

                    

                     /*var num='100';//字符串

                     var str1='hello,javascript';//字符串

                     var str2="hello,javascript";//字符串

                     var str3="hello'abc'world";//引号嵌套使用,单引号里面存放双引号,反之一样。

                     alert(str3);*/

                    

                     //var str='3*2';

                     //alert(str);//3*2

                     //alert(typeof str);//'string'

                     //alert(typeof str === 'string');//true

                     //alert(typeof typeof str);//string

//&&(and) 与、||(or) 或、!(not) 非

                     //1.&&(and)

                     //逻辑与:只有在第一个操作数和第二个操作数都为真的情况下,结果为真。当两边为具体数字时,则会出现具体值

                     //如果第一个操作数为真,结果无论第二个操作数是真假,结果都是第二个操作数。

                     //如果第一个操作数为假,程序不会执行第二个操作数,直接输出第一个操作数。

                     //数字非零即真,字符串非空即真    undefined  null都是false

                    

                    

                     //alert(3>2 && 4>3); //==>alert(true && true) ==>true

                     //alert(3&&2);//2

                     //alert(3&&0);//0

                     //alert(0&&4);//0

                     //alert(''&&123);//''

                     //alert(null&&fakdsljflkdasjfkldsajf);//null

                    

                    

                     //2.逻辑或:只有在两个操作数都为假的情况下,结果为假。也就是说如果第一个操作数的求值结果为真,就不会对第二个操作数求值了。

                     //如果第一个操作数为真,程序不会执行第二个操作数,结果是第一个操作数的值。

                     //如果第一个操作数为假,结果无论第二个操作数是真假,结果都是第二个操作数。

                     //alert('abc'||dfjkadsfjdasl);//abc

                     //alert(''||1);//1

                     //alert(''||0);//0

                    

                     //3.逻辑非:逻辑非操作符首先会将它的操作数转换为一个布尔值,然后再对其求反。

                     //alert(!5);//false

                     //alert(!!!3);//false

                     //逻辑非的结果一定是布尔值。

                     //alert(5);//5

                     //alert(!!5);//true

//只能操作一个值的操作符

              //++ 加1   --减1

              //核心:符号在前面和后面区别

             

              /*var num=10;

              num++;

              num++

              alert(num);//12*/

             

              /*var num=10;

              ++num;

              ++num;

              alert(num);//12*/

             

              //对于当前的操作数,不管++在前还是后,都会+1。

              //如果++在操作数前面,先进行+1,后参与运算(赋值操作等)。

              //如果++在操作数后面,先参与运算(赋值操作等),后进行+1。

              /*var a=5;

              var b=++a;//a先加1,在赋值给b

              var c=a++;//a先赋值给c,a再加1.

             

              alert(a);//7

              alert(b);//6

              alert(c);//6*/

             

             

              /*var num=10;

              alert(num++);//10

              alert(num);//11*/

             

              /*var num=10;

              alert(++num);//11

              alert(num);//11*/

             

              /*var k=0;

                      //0  +  2  + 2 + 2

              alert(k++ + ++k + k + k++);//6

              alert(k);//3*/

             

             

              /*var a=10;

              var b=++a + a++;

              alert(b);//22

              alert(a);//12*/

             

              var a=10;

              a=++a + a++;

              alert(a);//22

       //var num='10';

                     //alert(typeof +num);//number

                     //alert(typeof ++num);//number

                    

                     //var num='abc';

                     //alert(typeof num);//string

                     //alert(typeof +num);//number

                     //alert(typeof ++num);//number,类型是数字,但值不一定是

                     //alert(+num);//NaN

                    

                     //alert(typeof NaN);//number,你把他当成数字去考虑才知道他是不是数字

                    

                     /*alert(null==null);//true

                     alert(undefined==undefined);//true 你不是人==你不是人

                     alert(undefined==null);//true js约定

                     alert(NaN==NaN);//false*/

                    

                    

                     //alert(''==' ');//false

                     //alert(''==0);//true

                    

                     //显示转换:系统强制转换或者手动转换

                     //Number():强制转换成数字

                     //String():强制转换成字符串

                     //Boolean():强制转换成布尔值

                    

                     //==比较两个值,最终的核心都是要转换成数字,除了undefined和null.

                     /*alert(Number(undefined));//NaN

                     alert(Number(null));//0*/

                     //alert(''==0);//true

                     //alert(Number(''));//0

                    

                     //alert(Number(true));//1

                     //alert(Number(false));//0

                    

                     /*alert(true==1);//true

                     alert(true==2);//false

                     alert(false==0);//true

                     alert(false=='');//true*/

                    

                     //alert(Number('abc'));//NaN

                    

                    

                     //alert(String(true));//'true'

                     //alert(String(3));//'3'

                    

                     //alert(Boolean('abc'));//true

                     //alert(Boolean(123));//true

 

//1.parseInt( ):将括号里面的值(字符串)转换成对应的整数。从第一个数字字符开始转换,一直到非数字字符截止。

                     //alert(parseInt('100px'));//100

                     //alert(parseInt('abc100'));//NaN

                     //alert(parseInt('3.96abc'));//3

                    

                     //2.parseFloat( ):将括号里面的值转换成对应的小数。

                     //alert(parseFloat('100px'));//100

                     //alert(parseFloat('abc100'));//NaN

                     //alert(parseFloat('3.96abc'));//3.96

//二进制:0-1

                     //八进制:0-7

                     //十进制:0-9   生活中的数字

                     //十六进制:0-9 a-f

                    

                    

                     //十六进制:0-9 a-f

                     //rgb=red红 green绿 blue蓝

                    

                     //336699  33--r   66--g   99--b

                     //000000  黑色

                     //ffffff 白色

                     //数字越大,颜色越浅

<!--<input type="text" id="count" value="12345" />-->

              <script type="text/javascript">

                     //alert('a'*3);//NaN

                     //当数学计算无法得到数字结果,该变量的值为NaN

                     //isNaN():该方法判断值不是一个数字.

                    

                     /*var str='abc';

                     alert(isNaN(str));//true

                    

                     var num=10;

                     alert(isNaN(num));//false*/

                    

                     //4.输入一个五位数,分别输出个十百千万位;

                     /*var count=document.getElementById('count');

                     alert(count.value);*/

                    

                    

                    

                     var num=prompt('请输入一个五位数:');//12345

                     var gw=num%10;

                     var sw=parseInt(num%100/10);

                     var bw=parseInt(num%1000/100);

                     var qw=parseInt(num%10000/1000);

                     var ww=parseInt(num/10000);

                     document.write('我输入的数字是:'+num+'<br/>');

                     document.write('个位:'+gw+'<br/>');

                     document.write('十位:'+sw+'<br/>');

                     document.write('百位:'+bw+'<br/>');

                     document.write('千位:'+qw+'<br/>');

                     document.write('万位:'+ww);

//alert(a);//a is not defined

                     //console:浏览器控制台console对象。报错信息显示在这里。

                     //console.log():将括号里面的值输出到控制台

                     //console.log('abc');//*****

                     //alert();//****

                     //document.write();

  • javascript基本介绍及发展趋势
  1. JavaScript是一种轻量级、解释型的Web开发语言。
  1. JavaScript核心组成部分(ECMAscript/BOM/DOM)
  1. JavaScript的用途

通过js的学习,掌握后面的框架,库,组件,插件的原理和应用。

前端的核心

渲染/用户体验/性能优化

  • JS和H5的关系
  1. JS是网页脚本语言,代表控制网页的行为
    1. H5是目前最流行的HTML开发语言, 配合CSS层叠样式表,专门用于布局
  • 编写Js及如何运行Js
    1. Html文件内部编写JavaScript代码

<script type="text/javascript">  

</script>

    1. 引入外部的 . js文件

<script type="text/javascript" src="*** . js"></script>

  • 变量的概念及数据类型
  1. 概念:所谓变量,就是特定时间用于保存特定值的一个名字而已,并且初始化后可以再次改变的量。ECMAScript 的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。
  2. 声明定义:使用 var 操作符(var是关键字),后面跟一个变量名(变量名是标识符)声明多个变量的时候,可以在一行或者多行操作,只要把每个变量用逗号分隔开即可,但最好分行写,可读性佳。
  3. 命名规则: 数字、字母、下划线、$符号组成,其中数字不能做开头。并且变量名应做到见名知意,常用的方式有驼峰命名法,匈牙利命名法。同时变量名不能是保留字或者关键字
    1. 变量的数据类型

ECMAScript 中有 5 种简单数据类型:Undefined、Null、Boolean、Number 和 String。

还有一种复杂数据类型(引用类型)——Object。

检测变量类型的方法:typeof( 变量名 ) 或者 typeof  变量名

  • JavaScript运算符
  1. 赋值运算符 = 将等式右边的结果赋值给左边。

javascript使用“ = ”运算符来给变量或者属性赋值(最低优先级)

复合赋值操作 +=、-=、*=、/=、%= 带操作的复合赋值运算。(更快捷,更优)。

  1. 数学运算符  +  -  *  /  %

+:求和,连接字符作用

%:求余数(求模)

  1. 关系运算符(结果为布尔值) <、>、<=、>=、==、===、!=(不相等)  !==(不全等)
  1. 理解==、===运算符之间的区别。
  2. 理解相等和恒等运算符
  1. 逻辑运算符
  1. && 与、|| 或、! 非
  2. 逻辑与:只有在第一个操作数和第二个操作数都为真的情况下,结果为真。
  3. 逻辑或:只有在两个操作数都为假的情况下,结果为假。也就是说如果第一个操作数的求值结果为真,就不会对第二个操作数求值了。
  4. 逻辑非:逻辑非操作符首先会将它的操作数转换为一个布尔值,然后再对其求反。
  1. 一元运算符:只能操作一个值的操作符++  --

自增、自减  : 自身的值上面+1  -1;

  • 变量不同类型之间的自动、手动转换。
    1. 显示转换:系统强制转换或者手动转换

Number( ) /String( )/Boolean( )/parseInt( )/parseFloat( )

    1. 隐式转换:系统自动根据当前的符号进行转换。

+  -  *  /  %  ++  --  ! ......

  • 进制的简单介绍

当一个数字以0开头时,就表示这是一个八进制数,以0x前缀来表示一个十六进制值。 

  • NaN的概念及应用
    1. 当数学计算无法得到数字结果,该变量的值为NaN 
    2. 注意:因为NaN代表非数字,它不等于任何值,也不能做运算,
      即使alert(NaN == NaN); 结果也是false
  1. isNaN(num)方法,该方法判断num变量的值是否是NaN(不是一个数字)
  • 强化练习
  1. 为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时?
  2. 小明要到美国旅游,可是那里的温度是以华氏度为单位记录的。它需要一个程序将华氏温度        (80度)转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。
                  提示:摄氏度与华氏度的转换公式为:摄氏度 = 5/9.0*(华氏度-32)保留3位小数
  3. var k=0;  console.log(k++ + ++k +k +k++);
  4. 输入一个五位数,分别输出个十百千万位;
  5. 扩展练习:计算两个文本框的和。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QiuShuiFuPing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值