js基础第一天

时间:2023-01-15 19:18:52

js作用:网页特效(电梯导航)、交互、表单特效。就是可以用来控制结构和样式。

常用的三个输出语句都属于js的内置对象,提供我们直接使用的功能就是内置对象功能。

web三标准:结构、样式、行为。而js主要控制结构和样式。

<script></script>

alert()弹出警示框(用的少,用户体验差)

window.alert(“执行语句”);也可以直接alert(“执行语句”);

console控制台输出(用户看不见)

正常输出console.log(“你好”);

警告输出console.warn(“注意”);

错误提示console.error(“这里错了”);

document.write()文档打印输出(直接在文档中显示,常用)

document.write(“今天下雪了”);

如何用js控制结构和样式?

首先要获取id,给一个id然后获取元素,获取方式:

var demo_huoqu=getElementById(“demo”);

意思是获取id为demo的元素放在demo_huoqu这个变量里。

然后更改样式:

document.getElementById(“demo”).style.backgroundColor=”red”;

意思是更改原样式中的颜色为红色。

js中样式的写法与CSS不一样

CSS:backgrount-color

js:backgroundColor(没有-,同时第二个单词首字母大写)

变量命名

变量名必须以字母或是下标符号_或者$开头;长度不能超过255字符;不允许使用空格;不使用脚本语言中保留的关键字及保留符号作为变量名;变量名严格区分大小写。

全局变量和局部变量

全局变量:外部设置变量、隐式的全局变量(在函数体内部但是没有声明var的也是全局变量)

result为全局变量,num也为全局变量。

局部变量:内部设置var变量

题:

输出为10,因为函数没有调用,没有fun()调用,所以为10

输出为global。a=”global”为全局变量,但是是局部调用的,所以局部执行,执行输出为global。

事件三要素(事件源+事件=事件处理程序)

事件源.事件= function(){ 事件处理函数 }

事件源 事件 事件处理函数

被触发者 怎么触发这个事情 发生了什么事

先获取盒子和按钮的id,然后当按钮被按时发生了盒子的样式宽度改变。

鼠标事件

事件名

说明

onclick

鼠标单击

ondblclick

鼠标双击

onkeyup

按下并释放键盘上的一个键时触发

onchange

文本内容或下拉菜单中的选项发生改变

onfocus

获得焦点,表示文本框等获得鼠标光标。

onblur

失去焦点,表示文本框等失去鼠标光标。

onmouseover

鼠标悬停,即鼠标停留在图片等的上方

onmouseout

鼠标移出,即离开图片等所在的区域

onload

网页文档加载事件

onunload

关闭网页时

onsubmit

表单提交事件

onreset

重置表单时

隐藏样式

display:none;隐藏(隐藏不占位置,使用后下面的会上浮)

display:block;显示,因为变为块级元素所以肯定会显示。

visibility:hidden;隐藏(隐藏但占位置,上面的位置存在,下面不会顶上来)

visibility:visible;显示

overflow:hidden;隐藏超出的部分

入口函数

window.onload=function() {

内部放js

}

这个函数的意思就是说,当我们页面结构样式加载完毕之后,才去执行函数体里面的js部分。所以这句话可以放到页面的顶端。同时一个页面只能写一次。

js的书写位置

行内式

<button onclick="alert('你好吗')">点击我</button>

<a href=”javascript:;”></a>

<a href=”javascript:void(0);”></a>

当点击的时候,js执行一个空的函数,如果换成#,那么就会跳转。

内嵌式

写在页面中任何地方都可以<script type=”text/javascript”></script>

外连式

在head中写<script type=”text/javascript” src=”xx.js” ></script>

这对标签之中不可以写任何东西

用js更换背景图片的方法

body {
     background: url(images/2.jpg) top center;
}

window.onload=function() {

var _li1=document.getElementById("li1");

var _li2=document.getElementById("li2");

var _li3=document.getElementById("li3");

var _bd=document.getElementById("bd");

_li1.onclick=function() {

_bd.style.backgroundImage="url(images/3.jpg)";

}

_li2.onclick=function() {

_bd.style.backgroundImage="url(images/4.jpg)";

}

_li3.onclick=function() {

_bd.style.backgroundImage="url(images/5.jpg)";

}

}

首先为什么要用backgroundImage 而不用background呢?其实也可以,但是前面的只换图片不换样式,如果想用后面的,还得再加上样式to center。其次还需要加url以及后面的内容才行,不能够直接images/5.jpg直接放上去,这种方法是直接引入图片,而现在则是在样式中的图片,所以要写全。

模态框

CSS样式部分

<div di="mask">
</div>
<div di="box">
     <span>×</span>
</div>
#mask {/*模态框*/
     height: 100%;
     width: 100%;
     position: fixed;/*需要用固定定位,将模态框固定在屏幕永远不动*/
     background: rgba(0,0,0,.5);/*设置透明度*/
     z-index: 999; /*设置时要比前面的框低一级一般设为999*/
     display: none;
}
#box {/*弹出的表单框*/
     width: 400px;
     height: 250px;
     background-color: #fff;
     position: fixed;/*框固定到屏幕永远不动*/
     top: 50%;/*框上面的线到屏幕竖直居中的位置*/
     left: 50%;/*框左边的线到屏幕水平居中的位置,也就是正**/
     margin: -125px 0 0 -200px;/*由于以上面和左边的线为准,所以框会偏下右各一半,所以需要设置框margin的上为负高一半,左为负宽一半,最后正好居*。*/
     z-index: 1000;/*设置层级比模态框高一级*/
     display: none;
}
#box span {
     position: absolute;
     top: 10px;
     right: 10px;
     width: 15px;
     height: 15px;
     font-size: 15px;
     cursor: pointer;
}

js特效部分

login是您好请登录的a标签,mask是模态框,box是中间的白色表单,close_box是关闭框

<script type="text/javascript">
     window.onload=function() {
         var login=document.getElementById("login");
         var mask=document.getElementById("mask");
         var box=document.getElementById("box");
         var close_box=document.getElementById("close_box")
         login.onclick=function() {
             mask.style.display="block";
             box.style.display="block";
         }
         close_box.onclick=function() {
             mask.style.display="none";
             box.style.display="none";
         }
     }
</script>

padding问题

给一个盒子长宽高颜色,如果给padding肯定会撑开盒子。而在这个盒子中包含一个小盒子,小盒子只设高,宽会继承父亲的宽。就算是加了padding-left值也不会撑开自己,因为自己没有设宽度值。当给小盒子设了宽度值例如width为50px或者为100%,那么再给padding-left时就会撑开自己比父盒子宽。同理因为给了高的值,所以如果加padding-top值是也会撑开自己比父盒子高。

数据类型

字符型string、数值型number、布尔型boolean、null、undefind(未定义)

输出类型方法,例如

var txt=”欢迎光临”;

console.log(typeof txt);

结果为string

转换为字符型:加双引号、String(); 转换字符S一定要用大写。字符型的可以减可以乘可以除。

布尔型:true和false。转换布尔型:!!、Boolean();

false、undefined、null、0、””等为false

“somestring”/[bobject]为true

转换数值型:减- 乘* 除/ 都可以转换,除了加+。利用Number();转换。

八进制:数值的前面带0代表八进制。

var num=020;

结果是16,八进制转为十进制。

算法0*80+2*81=16

十六进制:数值的前面带0x代表十六进制。

var num=0xb;

结果11

取整

parseInt

parseInt(值,进制);

parseInt(19.99); 是19

parselnt(“25px”); 是25

parselnt(“px25px”); 是NaN

parseInt(“10”,2); 10的2进制。意思是把10这个2进制转换为10进制。0*20+1*21=2

parseInt(“110”,2) 0*20+1*21+1*22=6

转为整数:var num=parseInt(“str”)

读取字符串中的整数部分

从第一个字符向后读。

如果碰到第一个数字字符,开始获取数字,再次碰到不是数字的字符(包括小数点),停止读取。

如果开头碰到空格,忽略。

如果碰到的第一个非空格字符,不是数字说明不能转→NaN,NaN的意思是Not a Number。什么是NaN:不是数字(内容)的数字(类型)

转为浮点数:var num=parseFloat(“str”)

读取字符串中浮点数部分。

用法和parseInt完全相同

唯一差别:parseFloat认识小数点,仅认第一个。而且parseFloat如果能转成整数,就不会转为浮点数,例如25.0,那么就会转为25,.25转为0.25

js基础第一天的更多相关文章

  1. &lbrack;妙味JS基础&rsqb;第一课:属性操作、图片切换、短信发送模拟

    知识点总结 HTML的属性操作:读.写 元素.属性名 => “读” 元素.属性名=新的值 => “写” 例如: oBtn.value => “读” oBtn.value='按钮' = ...

  2. js 基础篇(点击事件轮播图的实现)

    轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...

  3. js 基础

    js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...

  4. Node&period;js基础与实战

    Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP& ...

  5. JS基础知识总结

      js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划() ...

  6. js基础篇——call&sol;apply、arguments、undefined&sol;null

    a.call和apply方法详解 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象 ...

  7. js基础知识总结(2016&period;11&period;1)

    js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...

  8. Web3D编程入门总结——WebGL与Three&period;js基础介绍

    /*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成“webgl与three.js基础介绍”.“面向对象的基础3D场景框架编写”.“模型导入与简单3D游戏编写”三个部分,其他零散知识 ...

  9. 前端架构之路:使用Vue&period;js开始第一个项目

    Vue.js做为目前前端最热门的库之一,为快速构建并开发前端项目多了一种思维模式.本文通过一个简单的实例开始上手Vue.js开发.   一.技术准备 笔者建议在开始项目前,对以下两个技术点进行了解. ...

随机推荐

  1. 将list转换为datatable的方法

    public static DataTable CopyToDataTable<T>(this IEnumerable<T> array) { var ret = new Da ...

  2. PHP MySQL Where 子句 之Where

    WHERE 子句 如需选取匹配指定条件的数据,请向 SELECT 语句添加 WHERE 子句. 语法 SELECT column FROM table WHERE column operator va ...

  3. flash导入图片缩放后出现毛边、失真、锯齿、文字模糊不清晰的情况

    原因: 1.flash的性能非常差,这就不得不让它做大量的优化. 2.图片缩放,目前业界有多种算法,画质越好的算法,计算量越大. 3.flash优化了图片缩放,使用了质量非常低的缩放算法.这个做法,保 ...

  4. H3 BPM总部乔迁 开启新篇章 筑梦新征程

    近日,国际一流的BPM解决方案服务商H3 BPM总部迎来乔迁之喜,办公新址泰邦科技大厦位于国家火炬计划软件产业基地.国家高新技术产业标准化示范区.国家文化和科技融合示范基地的深圳高新技术产业园区,办公 ...

  5. react项目中遇到的坑

    1,touchStart和touchEnd 如果touchstart和touchend改变的是同一个state,那么在首次加载渲染的时候组件会陷入死循环,原因是touchstart会直接触发,但此时s ...

  6. Gym 101606B - Breaking Biscuits - &lbrack;凸包&plus;旋转卡壳&rsqb;&lbrack;凸包的宽度&rsqb;

    题目链接:https://codeforces.com/gym/101606/problem/B 题解: 对于给出的 $n$ 个点,先求这些点的凸包,然后用旋转卡壳求出凸包的宽度(Width (min ...

  7. man termios&lpar;FreeBSD 12&period;0&rpar;

    TERMIOS() FreeBSD Kernel Interfaces Manual TERMIOS() NAME termios - general terminal line discipline ...

  8. Java中九大内置对象

    1.Request对象 该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息.    当Request对象获取客户提交的汉字字符时,会出现乱码问题 ...

  9. mysql安装后找不到sock文件

    mysql rpm安装方式之后,启动找不到sock文件,经排查是之前安装的由mysql, 需要时yum list installed mysql 或者  rpm -qa |grep -i mysql ...

  10. html5 websocket &plus; node&period;js 实现网页聊天室

    1 client:    socket.io server:   node.js +  express  + socket.io 一个简单的聊天室  demo,没有注册,内置了一些测试用户 2 cli ...