Javascript与Jquery知识点

本文详细介绍了JavaScript的基础知识,包括其用途、历史背景、与ECMAScript的关系以及在前端开发中的重要角色。讲解了变量、DOM操作、BOM、语法规范、数据类型判断、流程控制、循环结构等内容。此外,还探讨了JavaScript与jQuery的关系,提到了jQuery中的尺寸位置操作、事件绑定和解绑等关键概念,以及jQuery与原生JavaScript在事件、动画和链式编程等方面的不同。
摘要由CSDN通过智能技术生成

js简介

1 用途:制作页面交互效果
          如 轮播图的切换、Tab栏切换、地图、表单验证等

2 历史背景
   全称 javascript  与Java语言没关系
   javascript vbscript jscript

  脚本语言:嵌入在html中,由浏览器解析执行

3 javascript与ECMAscript的关系
   
    var i = 1;
   插座

    Javascript  actionscript(Flash)

  ECMAscript是制定标准的,js和as遵循这个标准


  ecmascript5
    新的事物或技术  关注 

4 js今天的历史重任
  2003之前, js做广告的
  2004年  Google ajax(用js实现)
  2007  js做移动端页面 
            三层标准

 
  2010 HTML5(canvas)
  2011 node.js 可以让我们开发服务器程序
         
     webapp (用web的技术开发app)
   成本节约、跨平台
   
     携程网 ios andriod wp   30*3
   
       3~4个人  app

js: 好学的语言,
 
js核心内容:  基础语法(重点) 变量 表达式 循环 函数 数组等
                         dom(重点)   js控制一些HTML元素
                         bom(了解)控制浏览器的一些东西

js的学习方法: 基础扎实--->
                         多品味别人的程序(思想、思路)
                             ----> 多写逻辑程序
************js知识点*********************
    js(除了node.js)是前台语言,由服务器把js文件传输到客户端
,由客户端的浏览器去解析执行
    后台语言(php/java等)数据的处理

  书写第一个js程序
1 js代码引入位置
  在head标签里面放入
     <script type="text/javascript">
      //js代码写在这对标签里面  
    </script>

2 alert("消息");
  在浏览器中,弹出一个窗口
  console.log("信息"); 在控制台输出信息

3 语法规则
    a  JavaScript对换行、缩进、空格不敏感,但是书写的时候
要养成良好的代码风格(一行只写一条语句,适当地缩进等)
    b js语句是以分号作为结束标志
    c 这些符号都是英文

4 注释
    html的注释 <!-- 注释的内容 -->
    css的注释  /*注释的内容 */
    js的注释: 单行注释  //   sublime快捷键 ctrl+/
                     多行注释  /*  ...   */ sublime快捷键 ctrl+shift+/

5 直接量(常量)
     数字: 100  -15  12.3 等
    字符串: "hello"  "abc123"
      alert(10);//弹出数字10
     alert("10");//弹出字符串10
    判断错误
          alert(2016);
          alert("2016");
          alert(八十九);//错误 要加双引号
        
 6 变量(未知数)
      js声明变量  var z = 123;
                          var a = "中国";
     var叫关键字,定义变量
     z叫变量名  变量名符合一定规则
                       * 由数字、字母、下划线、$组成
                       * 不能以数字开头
                       * 不能是关键字 
                       * js区分大小写
    =  赋值号,上面代码含义就是把123值赋值给左边变量z

   保留字不能做变量名
 abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、final、float、goto
 implements、import、int、interface、long、native、package、
 private、protected、public、short、static、super、
 synchronized、throws、transient、volatile

   变量先定义后使用

7 typeof 判断数据的类型
   typeof 变量或表达式
   结果是number 表示是数值(整数或小数)
   .............string    表示是字符串

******************************************************************

1 alert("消息");
 完整的语法 window.alert("消息");

2 console.log("信息");

3 confirm("...");一般与if...else配合使用

4 prompt 接受用户输入信息,用户输入的信息都是字符串

5 document.write("....");往网页中输出信息,而且参数可以放置标签

 undefined 表示变量未初始化
 b is not defined  b没有定义,这是报错的

 连字符和加号
+  加法
   1+2
+ 表示字符串连接
    数字+字符串,先把数字转成字符串,变成两个字符串连接

 "999"-111  即 999-111
 "999"-"111" 即 999-111
  "3ac"-"100"   NaN(not a number)  是一种数据类型

 % 求余(取模)
   15%2   1
   a%b  结果这个余数的符号和被除数一致

 + - *  /  %  ()

变量值的传递
    a = b;
  含义: 把变量b的值赋值给左边的变量a,但是b的值是不变的

乘方 Math.pow(3,4); 表示3的4次方
       Math 数学对象
      pow 数学对象的方法
           对象.方法(参数);
平方根  Math.sqrt(16);

 sin  cos

字符串如何转为数字
   parseInt("5"); //把字符串5转为数字5
   parse 转换
   parseInt(5.999);//结果是5
   parseInt("365天");//365

  10.99+10.88

   parseFloat("10.99");//10.99

  作业 模拟小小计算器 (两数相 + - *   /)

 程序流程控制:
    顺序结构: 程序从上往下,一句句执行;
    条件结构:if   if-else等
     循环结构: while、for、do-while

1 if结构
   if(表达式) {
        表达式成立需要执行的语句;
   }
   执行流程: 先判断表达式真假,假如条件表达式为真,
大括号里面的语句就会被执行,否则大括号里的语句就
不会被执行
       if(a%2==0)
             alert(....);
       alert("over");
   假如没有加大括号,默认是下面的第一条语句作为if的语句,
初学者尽量养成加大括号的习惯

2 if-else
    if(条件) {
         语句1;
    } else {
         语句2;
    }

 条件为真,执行语句1,否则执行语句2

3 多分支语句
         90-100  优秀
        80-90  良好
        60-80 及格
           <60 去补考
  成绩需要用户去输入,对用户输入的成绩进行判断
  分析思路:1 利用prompt函数提示用户输入一个值,用
parseInt() 将值转化为数字
                      2 用一个变量 ,把这个数字保存起来
                      3 判读

*******************************************************************************

运算符:算术的运算
布尔值true false
var b ="true"//不是布尔值
关系运算符:
>>=<<=
==等于
===全等于
!=不等于
!==不全等于
关系运算符得到的结果是逻辑值,假如为真,则条件成立;
为假,则条件不成立

=赋值号一点等于的意思都没有
表示两个东西是否相等,千万不能用

==表示两个数是否相等还可以表示字符串是console.log(10==“10”);//ture
 说明==不严格,把"10"转化为10然后比较 
     
   === 全等于
         console.log("56" === 56); //false
 console.log(56 === "56"); //false
 console.log("56" === "56"); //true
 console.log(56 === 56);  //true

 

            !=  对 ==取相反
            !== 对===取相反

             10!="10"    10=="10" 是true
             10!=="10"  10==="10" false
 

    console.log(3 != 8); //true
 console.log(3 != "3"); //false,因为3==”3”是true,所以反过来就是false。
 console.log(3 !== "3"); //true,应为3===”3”是false,所以反过来是true。


 逻辑运算符  &&  ||   !
       &&  "并且"
       ||    "或"
        !   取反

             num>10&&num%2==0
             score<0|| score>100  

     10<a<30   a>10&&a<30

     10<a<30   先计算10<a 的结果,拿这个结果与30比较

     3<2<15  3<2&&2<15

流程控制结构: 顺序结构 条件结构  循环结构

    if(a>0)
   {
       if(a>100) {}
       else {}
   }
   else {}

嵌套:if语句又含有if结构

while  do-while  for

循环: 重复  
 
写一个程序: 在文档页面打印1-100

 for(表达式1; 表达式2;表达式3) {
       循环体
 }

 表达式1 一般用于定义循环变量 也可以省略
 表达式2 一般放的是循环条件
 表达式3 一般放的是循环变量变化
 大括号里的叫循环体(需要重复的语句)
  var i=1;
  for(;i<=100; i=i+1) {                                  
  document.write(i);                        
  document.write("<br/>");
               // document.write("这是第+“i”+");   

 }

               
  草稿: i ---- 1
               1<=100 成立
               打印1和换行
               i ----- 2
               2<=100 成立
              打印2和换行
              i ---- 3
                    ...
               i --- 100
             100<=100
                 打印100和换行
             101<=100

******************************************************************
三种循环: while do-while for
 三种区别:语法规则不同,三种形式可相互替代
for循环:用的比较多,一般用于循环次数确定
  1 语法
       var sum = 0;
       for(var i=0; i<=100; i++) {
                 sum = sum + i;
       }
      alter(sum)
  2 执行流程


  3 练习
              求1~100之间所有的数的和、平均值
              求1~100之间所有的偶数的和、奇数的和
              本金10000元存入银行,年利率是千分之三,
  每过1年,将本金和利息相加作为新的本金,计算5
 年后,获得的本金是多少?
               有个人想知道,一年之内一对兔子能繁殖多少对?
于是就筑了一道围墙把一对兔子关在里面,已知一对兔子
每个月可以生一对小兔子,而一对小兔子从出生后第三个月
起每月生一对小兔子。假如一年内没有发生死亡现象。那么,
一对兔子一年内(12个月)能繁殖成多少对?
       兔子的规律为数列 1 1 2 3 5 8 13 21

     打印9*9乘法口诀表
     打印正方形
     打印直角三角形

     计算出1到100之间所有不能被3整除的整数的和大于等于2000
的数字

 while
    while(条件)
   {
      循环体;
   }

  1+2+...+10
  var sum = 0;
  for(var i=1; i<=10; i++) {
     sum = sum +i;
  }


    var sum = 0;
    var i = 1;
    while(i<=10) {
     sum += i;
    i++;
    }

  do {
      循环体
  } while(条件);  (注意这里有分号)

 1 do和while配合使用

    var sum = 0;
    var i = 1;
   do {
      sum = sum + i;
     i++;
  } while(i<=10);

  while与do-while的区别:
    while循环体有可能一次都不执行
    do-while 至少执行一次循环体

 break与continue

1 break用于循环,跳出循环
例子:1 3 5 7 9 ...  101
 for(var i=1; i>0 ;i+=2) {
  if(i>101)
   break;
  console.log(i);
 }

2 continue只能用于循环,提前结束本次,接着下一次循环
   switch(表达式或变量) {
         case  常量:语句;
          case  常量:语句;
         case  常量:语句;
         default: 语句;
   }
例子:for(var i=1; i<10;i++) {
  if(i%2==0)
   break;
  console.log(i);
 }

3.switch执行流程: 先算表达式或变量的值 ,拿这个值找相对应的
case,假如找到匹配的,就从该case后面语句执行,直到遇到break
或者switch的结尾,假如找不到匹配的case,就执行default.

例子:var a = 6;
 switch(a) { 
  case 1:a++;
  case 2: a*3;
  case 3: a-=6;
          break;
  default: a=a%2;
 }
 alert(a);//-3

 1000天后 是周几b

  num = 1000%7;
  switch(num) {
       case 0: alert...
       case 1: ...
 }

数组 :
 1 引入: 解决的是一组数据
          var num = "张三";
          num = "李四";
      一组数据
2 数组定义
     方式一 var arr = new Array();//通过new来创建
     方式二 var arr2 = [];

例子:定义了一个数组 数组名为arr
 var arr = new Array();
 arr[0] = 12;//给数组中第一个元素赋值
 arr[1] = "abc";
 alert(arr.length);

 var arr2 = [];
 arr2[0] = "123";
 arr2[1] = 10;
 arr2[2] = 20;
 var arr2 = [10,20,30];//整体赋值
 alert(arr2.length);
 var arr = [1,2,3,4,5,6,7,8,9,10,20,30];
 var arr = new Array(1,2,3,4,5,6);
 alert(arr[0]);
 alert(arr[1]);
 alert(arr[2]);
 alert(arr[3]);
 遍历数组
 for(var i=0; i<=arr.length-1; i++) {
  console.log(arr[i]);
 }

3 数组元素如何表示
        数组名[角标或下标]
        角标从0开始计数 最大值为length-1
        arr[0] 代表数组中第一个元素
        arr[1] 代表数组中第二个元素


4 数组的长度(数组元素的个数)
      arr.length;//代表arr数组的长度  


5 数组的遍历(对每一个数组元素进行访问)

 计算10 20 30 40 50 60 70 的和与平均值
    var sum = 0 , avg;
    var arr = [10,20,30,40,50,60,70];
     for(var i=0; i<arr.length; i++) {
      sum = sum + arr[i];
     }
     avg = sum/arr.length;
     alert("和"+sum+"平均值"+avg);

***************************************************


js 基本语法+DOM(如何用js操作html的元素)+BOM(了解)
函数
      目标 1.掌握基本语法
           2.用函数解决问题
 一段代码反复被使用,造成代码度高
 函数:为了提高代码的复用性,对一段js代码进行封装,可被反复使用被调用
      //src="myfunc.js"外联
       //定义一个函数
 例子:  function getSum(){
         var sum=0;
         for(var i=1; i<=100; i++){
         sum+=i;}
         alert(sum);
          }
//完整定义函数
function 名字(参数1,参数2,。。。){
//函数体
}
//2 调用函数 函数名(参数);
getSum()

//定义一个函数,函数的功能求n-m之间所有的数的和
//函数的定义,规定了两个参数n,m这叫形式参数(形参)
解: function getSum(n,m){
         var sum=0;
         for(var i=n; i<=m; i++){发·
           sum+=i;}
           alert(sum);
          }
function add(x,y)
//求10-20之间的和
//函数调用,10,20叫做实际参数(实参)
//实参传递给形参,一一对应
getSum(10,20);
getSum(100,1000);


//求两个数的和
//通过return把值返回,return还有一个作用,提前结束函数调用
解: function add(x,y){
         //在函数內部定义的变量叫局部变量,只在函数内部有效
         var result=x+y;
         return result;//返回值
          
          }
           alert(add(3,2));

 

函数递归:自己调用自己

例子:
function fun(n){
if(n==1)
     return 1;
else 
     return+fun(n-1);
alert(fun(6));
}
fun(6)开始调用函数,n获得6,返回6+fun(5)----->
接下来执行fun(5)n获得5,返回5+fun(4)------->
.........fun(4)n获得4,返回4+fun(3)------->        
.........fun(3)n获得3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值