5.15作业

JS功能

功能: 数据交互
特效
//大量的逻辑代码
表单验证
正则表达式

方式
1.js里面的基本语法
变量 闭包 逻辑结构 循环结构 函数(参数 自执行 匿名函数 返回值函数问题 函数递归)
2.window 对象 -document(dom–操作) --history历史 —location 地址对象 (bom-操作)
3.js里面的内置对象 Array String Date Math
4.继承之类 (面向对象的开发 原型链继承 构造继承 实例继承 混合继承)
5.模式 (单例模式)
6.ajax(原理 跨域的问题)
7.js 异常 try catch

JS里面的函数

js里面的函数问题
什么是函数? (方法 调用完成 )
函数的声明规则 关键字 function

 function name(){
 }

函数的调用规则 name();
函数的声明提前 在代码执行之前提前声明

声明函数

        name();
        function name(){
            console.log(1);
        }

1.函数的参数 参数:形参 调用函数传递的值 实参

        student(1,2,3);
        function student(name,sex,age){
            console.log(name,sex,age);//1 2 3
        }

无参函数
arguments 函数特有的属性 里面是函数的相关参数

stu(1,2,3,4,5,6);
 function stu(){
 console.log(arguments[0],arguments[1],arguments[2],arguments[3]);// 1 2 3 4
    }

2.函数有无返回值问题 return 返回 直接跳出 后续代码不执行

       console.log(showname());//1
        function showname(){
            //代码
            return 1;
        }

3.自执行函数 匿名函数 函数没有名称

(function (){
 console.log(123);//123
 })();
 (function (a,b){
 console.log(a,b);//1 2
 })(1,2);

变量也可以提前声明
下面这种声明方式的函数 不能被提前声明

var fun=function (){
  console.log(1);//1
}
fun();

JS变量

变量可以分为变量 常量(只读)可以变的量
如何声明
声明变量的关键字 var(js里面区分大小写****** VAR)
声明变量的规则:
var 变量名称 = 初始化

var a;(声明变量 使用变量的时候一定要初始化)
a=10;
console.log(b);
同时声明多个变量
var c, d;
console.log(c, d);
声明多个时候初始化
var e, f = 5;
console.log(e, f);

变量js里面可以分:两种变量 局部变量 全局变量 (相对的)
变量的数据类型
js里面的数据类型 number string boolean undefined object function
typeof 检测变量的数据类型

		 var a1 = 1;
        console.log(typeof a1);//number
        var a2 = "abc";
        console.log(typeof a2);//string
        var a3 = true;
        console.log(typeof a3);//boolean
        var a4 = null;
        console.log(typeof  a4);//object
        var a5;
        console.log(typeof a5);//undefined
        var a6 = function () {

        }
        console.log(typeof  a6);//function

相对的
全局变量
在事件或者方法之外的变量 —全局变量
局部变量 --事件或者方法内部的变量----局部变量
变量名称冲突 就近选择

	    var m1 = 20;
        function mm1() {
            var m2 = 30;
            console.log(m1);//undefined
            var m1 = 100;
            console.log(m1, m2);//100 30
        }
        mm1();

JS循环结构

for while do while
最简单的for 死循环

for(;;){}

金字塔线条

var s = "ab";
var l = "de";
var h="c";
console.log("ab" +"c"+ "de");//拼接
for(var i=1;i<50;i++)
 {
 document.write("<hr style='width:"+(i*10)+"px;'/>")//金字塔<hr style="width:10px;">
 }

金字塔乘法表

 for (var i = 1; i < 10; i++) {
 for (var k = 1; k <= i; k++) {
     if (k * i < 10) {
        document.write("<span>" + (i + "*" + k + "=" + k * i + "&nbsp;&nbsp;&nbsp;") + "</span>");
       }
    else {
        document.write("<span>"+(i + "*" + k + "=" + k * i + "&nbsp;")+"</span>");
      }
    }
 document.write("<br>");
}
// document.write("<span>"+(i + "*" + k + "="+(k * i<10?(k * i) + "&nbsp;&nbsp;&nbsp;":(k*i)+"&nbsp;"))+"</span>");

不带var 默认为全局变量
带var 的变量 不可以删除 不带的可以删除

闭包

什么是闭包:使用别人的私有变量
优缺点:缺点:会将闭包的值存在内存里面 会占用内存 ----网页的内存泄露
优点:可以使用局部变量

  function fun1(){
     var a=10;
     return a;
     }
     function fun2(){
     console.log(fun1());//10
     }
     fun2();

递归

函数的递归 反复执行自己本身

        for (var i = 2; i < 100; i++) {
        var issu = false;
        for (var k = 2; k < i; k++) {
            if (i % k == 0) {
                issu = true;
            }
        }
        if (!issu) {
            console.log("素数:" + i);

        }
    }

逻辑结构

逻辑选择结构 if 逻辑判断
if()判断的条件 成立或者不成立
运算符:
数学运算符 逻辑运算符 比较运算符

+ - * / % ++ --
 && ||  !
 > < >= <= !=
 = == ===(= 赋值  ==判断值一样 ===值和类型 )
 ++ -- 前置或者后置  (前置先++ -- 在运算,后置 先运算在++ --)

字符串里面的常用方法

字符串的方法
查找字符的方法
一个参数 找到了返回当前字符的索引位置 没找到直接返回-1

var str = "a|b|c|d|efg";
console.log(str.indexOf("m"));//-1

两个参数 找到字符返回字符的索引位置 没找到返回-1 从哪个位置开始找

console.log(str.indexOf("a", 0));//0

str.lastIndexOf()后往前面找
遍历字符串 获取每个字符的索引位
charAt(pos) 根据索引获取对应的字符

 for (var index in str) {
          console.log(str[index]);//a | b | c | d | e f g
          console.log(str.charAt(index));
          console.log(str.charCodeAt(index));//根据索引获取对应的ascii值
        }
  var as = 97;
 console.log(String.fromCharCode(as));//a

split 将字符串转化为集合

console.log(str.split("|"));

集合转化为字符串

var ss = str.split("|");
console.log(ss.join(""));//abcdefg

字符串的拼接 concat 合并

var c1 = "abcd";
var c2 = "def";
console.log(c1.concat(c2));//abcdef

替换 replace

console.log(c1.replace("b", 1));//a1cd

字符串的截取 substr(index,length)

console.log(str.substr(1, 4));//|b|c

substring(startindex,endindex);

console.log(str.substring(1, 4));//|b|

查找索引

console.log(str.search("a"));//0

大小写转化的方法toUpperCase() 转化大写 toLowerCase 转化为小写

console.log(str.toUpperCase());//A | B | C | D | E F G
console.log(str.toLowerCase());a | b | c | d | e f g

slice 截取字符串

console.log(str.slice(0, 4), str);//a | b |          a | b | c | d | e f g
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值