JavaScript学习笔记01

JavaScript

和java的关系 就是雷锋和雷峰塔的关系 就是毛关系都没有

一、组成部分

1、ECMA描述了该语言的基本语法和基本对象

2、DOM document object model 文档对象模型

3、BOM browser object model 浏览器对象模型

二、js使用

1、行内

<button onclick='alert("来了老妹");'>点我啊大爷</button>

2、内联

<button onclick='demo();'>函数</button>
<script type="text/javascript">
    function demo()
    {
        alert('js啊真贱但真贱DNA');
    }
</script>

3、外联

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

4、a 标签中

<a href="javascript:alert('走吧');">走</a>

二、js中简单的输出

1、alert(); 弹窗

2、console.log() 在控制台输出

3、document.write() 页面输出

三、变量的声明

1、使用var关键字声明 不带var也可以 推荐var

2、字母数字下划线 不能以数字开头

3、不能使用系统关键字

4、严格区分大小写

四、注释

1、单行注释 //

2、多行注释 /**/

五、数据类型

python 整型 浮点型 布尔型 字符串 列表 字典 集合 元组 none

PHP 整型 浮点型 布尔型 字符串 数组 对象 null 资源

js 万物皆对象

​ 数值 字符串 布尔 数组 对象 null undefined NaN

​ var oTest var aTest

​ typeof()

  • 出现undefined的几种情况

    ​1、变量未赋值

    ​2、函数没有返回值

    ​3、对象属性未赋值

  • 单双引号的区别

    1、都不解析变量

    2、都解释 特殊字符

    3、使用是自己不要套自己 相互嵌套使用

  • 拼接字符串

    使用+拼接字符串

六、自动类型转换

js中'0'的布尔型为真

七、有人说js中是三种数据类型

对象 NaN(not a number) 未定义

两个NaN永远不相等

isNaN(); 检测一个变量是不是NaN

八、运算符

算数:+ - * / % ++ – += -=

​ ++ 自增一

​ – 自减一

a++  是先赋值在运算  
++a  是先运算在赋值

比较: < > >= <= != == ===

逻辑:! || &&

var c = a && b;
    c是a和b其中一个值 如果a为假 c=a  如果a为真 c=b
var c = a || b;
    c是a和b其中一个值 如果a为假 c=b  如果a为真 c=a

三元运算符 表达式 ? 真区间 : 假区间

var c = a ? a : b;

九、强制类型转换

1、parseInt

​ 字符串强制转化数值类型时 如果字符串就是数值字符串 那就不会变 如果开头是数值 那就一直找到非数值字符 将后面去掉 如果开头就是非数值 结果NaN

2、parseFloat

十、流程控制

if else

else if之间必须加空格

while

for

for (var a=0; a<100; a++) {
  document.write(a);
}
# 初始值  要加var 声明
# 结束条件
# 条件

do while

do {
  document.write(a);
  document.write('<br />');
  a++
} while (a > 100);
# do whilewhile的区别  do while 肯定会执行一次循环体 不管条件成不成立 先执行一次再判断

for in 遍历

switch case

var a = 1;
switch (a) {
  case 1:
  case 5:
    document.write(1);
    break;
  case 2:
    document.write(2);
    break;
  case 3:
    document.write(3);
    break;
  case 4:
    document.write(4);
    break;
  default:
    document.write('哈哈哈哈哈');
    break;
}
# break 用来结束switch结构
# default 默认区间
# case 可以给多个

十一、Math对象

Math.random();  随机数
Math.ceil(Math.random()*100+100)    //取100-200之间的随机数
Math.ceil();    进一取证
Math.floor();   舍去取整
Math.max(); 
Math.min();
Math.round()    四舍五入
Math.sqrt()     求平方根
Math.pow()      n次方
手册上有

最大值 Number.MAX_VALUE
最小值 Number.MIN_VALUE

十二、函数

1、形参不加var 加了就错

2、函数名字区分大小写

3、函数可以重复定义的 后面的覆盖前面的

4、形参定义了 实参不给 不报错

  • 变量的作用域
    • 全局变量 在函数外部使用 var 声明的
    • 局部变量 在函数内部使用var 声明的
  • 递归函数
  • 匿名函数
  • 变量函数
var a = function () {
  alert('看我其实二的');
}
a();
//通过变量名调用函数
  • 内部函数
  • 回调函数
  • 封闭空间
(function demo(a) {
    document.write(a);
})(100);
//自动调用 后面的括号就是调用 里面可以传实参
  • 闭包
var add = (function () {
  var a = 0;
  return function () {
    return a+=1;
  }
})();
//1、避免变量污染
//2、使变量值一直保存在内存中
  • arguments 对象
function demo()
{
  //alert(arguments[1]);
  console.log(arguments);
}
demo(1,2,4,4,5,6);

十三、数组

1、var arr = new Array(1,3,4,45);

2、var arr = [1,23,4,5,]

3、追加关联

var arr = [];
arr['name'] = '小花'; //其实是给对象追加属性

4、删除

delete arr['name'];
delete arr.name;

5、. 和 [] 的区别

. 后面不能跟数字 变量 [] 可以

[]可以代替. .不能代替[]

6、查看数组长度

arr.length

length只能计算索引下标的数量

7、遍历数组

for 只能遍历纯索引的

for in

for (var i in arr) {
  document.write(i);
}
//i 代表的就是下标 也就是对象的属性

十四、对象

  • 创建方式

1、直接通过系统对象来创建

var obj = new Object();
//alert(obj);
obj.name = '小花';
obj.sex = '男';
obj.zhonghua = function () {
  alert('下吧下吧 我要中华');
}

2、通过json 方式创建

var obj = {name:'小狗',sex:'公',hobby:'吃',wan:function () {
    console.log(this.name);
}};
obj.wan();
//this 代表当前对象

3、自定义函数对象

function Person()
{
  this.name = '皇上';
  this.hobby = '杀人';
  this.sharen = function () {
    alert('朕从不杀人');
  }
}
var obj = new Person();
obj.sharen();

十五、三种弹窗

1、alert();   提示框 警告框
2、confirm();    确认框
    if(confirm('你上课是不是睡觉了')) {
        alert('睡觉罚款');
    } else {
        alert('三号学生');
    }
3、prompt();   输入框
    var res = prompt('你说你昨天是不是去做头发去了?哼!');
    if (res == '去了') {
        alert('当然是选择原谅她了');
    } else if (res == '没去') {
        alert('洗干净等我');
    }

十六、DOM操作

dom操作三要素: 获取 加事件 操作

1、节点

​ 标签节点 属性节点 文本节点

2、根据id获取节点

​ document.getElementById

4、常用事件

事件含义
onclick单击事件
ondblclick双击事件
onmouseover鼠标移入事件
onmouseout鼠标移出事件
onmouseup鼠标松开
onmousedown鼠标按下事件
onfocus获取焦点事件
onblur失去焦点
onload当文档加载完毕时触发
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值