初识JavaScript

一、JavaScript(JS)
由网景公司(NetScape)在1995年发布
特点:
(1)在借鉴C语言的基本语法;
(2)借鉴Java语言的数据类型和内存管理;
(3)借鉴Scheme语言,将函数提升到-“第一公民”(first class)的地位;
(4)借鉴Felf语言,使用基于
原型(prototype)的继承机制。
借鉴了众多语言,为了让JS可以让更多人熟悉,可以很快地上手进行开发

二、面试提升的知识点
1.面向过程与面向对象
面向对象:封装、继承、多态
封装和继承都是为多态服务的
封装的实现:类(setter/getter 方法)
内部类,抽象类,使用继承建立连接关系,接口,枚举,泛型,反射等,尽量减少类型的出现;类型数量减少,内部建立连接关系,高内聚从而能达到少而精的目的,最终目的:修改和维护更加方便,内存的管理更加的轻松;
架构设计
几乎板书以上的设计模式都是在针对多态去操作的

在Java中通过多态简化类型的概念,让某个类具有多种表现形态

JavaScript弱化了Java的强类型概念,JS是弱类型的语言,var可以代表所有类型。

内存管理
Java中的弱引用,强引用,虚引用,软引用
都是针对垃圾回收机制,操作垃圾回收机制操作内存
采取某种引用机制,当对象不被引用时,会根据引用机制判断去采取垃圾回收,将该对象占据的内存空间空置出来

三、JavaScript的认识
1.JavaScript是一种网页编程技术
2.就是一种基于对象和事件驱动,并具有安全性能的脚本语言
3.JavaScript尅被嵌入到HTML文件中,不需要经过Web服务器就可以对用户操作作出相应

四、JavaScript的组成
ECMAScript:JavaScript的语法标准
DOM:JavaScript操作网页上的元素的API(JS操作HTML)
BOM:JavaScript操作浏览器的部分功能的API(浏览历史,打开新窗口,书签等)
五JavaScript的特点
1. 简单易用
可以使用任何文本编辑工具编写
2. 解释执行(解释语言)
事先不编译
逐行执行
无需进行严格的变量声明
3. 基于对象
内置大量现成对象,编写少量程序可以完成目标

<html>
    <head>
        <meta charset="UTF-8">
        <title>js的使用</title>
        <!--在head标签中内嵌JavaScript标签script-->
        <!--<script>-->
        <!--?   //向html写字1.document.write();-->
            <!--document.write("JS Hello My World");-->

        <!--</script>-->
        <!--//js使用3:外联式-->
        <script src="js/js.js"></script>

    </head>
    <body>
        <!--js使用2:将js的代码写在body中-->
        <div id="div1"></div>
        <script>
            //获取显示区域:根据id获取标签
            var showDiv=document.getElementById("div1");
            //2.向html写字:innerHTML、innerText
            showDiv.innerHTML="<h1>Hey Girl,you are so beautiful</a>";
//          showDiv.innerHTML="I maybe look up you";
            showDiv.innerText="You should let me be you boyfriehd.";
        </script>
    </body>
</html>

六、使用范围
客户端数据计算
客户端表单合法性验证
浏览器对象的调用
浏览器事件的触发
网页特殊显示效果制作

七、JS语法规范
1.与CSS类似,嵌入html的head标签
2.单独文件,在head标签中引用

八、通过js代码向html文档写入文字
1.document.write();
document指的是文档即当前html文档
2.有两个div,分别向里面写文字
为div设置id
在js代码中通过document.getElementById的方式获取到div对象
innerHTML (覆盖、替换)单独写入文本字、写入Html标签
innerText:写入文本内容

九、Js执行原理
html页面中出现

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script>
//          alert("直接弹出");
            //alert警告框会根据浏览器的不同显示出不同的样式
            function showClick(){
                alert("由点击事件触发的警告!");
            }
            function choose(){
                confirm("你要狠心离开我了吗?");
                var resultDiv=document.getElementById("show_click");
                if(result ==true){
                    resultDiv.innerHTML="隔壁老王狠心抛弃了你";
                }else{
                    resultDiv.innerHTML="不懈的挥一挥衣袖";
                }
            }
            function btnClick(){
                prompt("你是否还在爱着我,请回答我,我的baby");
            }
        </script>
        <style>
            #show_click{
                width:200px;
                height:100px;
                border:2px dashed red;
            }
            .choose_dialog{
                width:100px;
                height:100px;
                margin:20px;
                background-color: black;
                color:white;
            }
        </style>
    </head>
    <body>
        <!--点击事件-->
        <!--ps端,移动端的产品都会对用户提供鼠标点击或触屏操作的功能
            网页要做出响应,这个响应就叫做点击事件
            在html中,所有的标签都可以设置点击事件
            用户鼠标点击时要给出回馈操作
            1.定义标签,设置id
            2.在js代码中提供点击函数
            3.在标签描述中设置点击事件onclick为该点击函数
        -->
        <div id="show_click" onclick="showClick()">请触发点击事件</div>
        <div class="choose_dialog" onclick="choose()">请再次确认您的选择</div>
        <input type="button" value="请输入!"onclick="btnClick()"/>
    </body>
</html>

十一、命名规范
变量必须以字符或下划线“_”开头
变量可以包含数字,从A至Z的大小字母
JavaScript严格区分大小写,computer和Computer是两个完全不同的变量
禁止使用JavaScript的保留关键字作为变量名。

十二、JS中的数据类型
简单(基本、值)数据类型
NUuber、Sring、Boolean、Undefined、Null
复杂(引用)数据类型(暂时了解)
Object、Array、Date等
查看当前变量的数据类型
typeof name
typeof(name)

十三、数字类型转换
1:将数字类型转换为字符串类型
隐式类型转换
强制类型转换(String(),变量.tostring() )
2:将字符串转换为数字类型
隐式类型转换
强制类型转换
(Number(),parseInt(),parseFloat())
3.将其他数据类型转换为布尔类型

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
已更名为Abstract.js,请参考Abstract.js Puppet (OR Soda) 是基于逻辑层抽像的前端框架,致力于更高效,便捷,优雅的构建 开发复杂的前端工程。Puppet是基于MVC的传统架框方法,抽象所有的前端模型进行封装。 方法参考 renderModel 普通渲染模型 其实前端大多数的操作,无非抽象为,从cgi取到数据然后把数据展示出来.普通的渲染模型即是,从cgi取到数据,通过模型进行数据处理后交给视图层去使用. 配置参数 cgiName {string} 请求的cgi路径 renderTmpl 渲染的模板对象 视图模板 如果cgi返回数据中有result,直接使用result进行渲染,否则使用原始数据渲染 //数据为data = {     result: {         list: [         ],         bid: 10038     },     retcode: 0} //模板中 <div data-bid="<%=bid%>">soda</div> <ul> <% for(var i = 0; i < list.length; i  ){ %>     <li>soda</li> <% } %> </ul> renderContainer {string} | {jqueryObj} 渲染到的元素 param {function}|{object} cgi的请求参数 // 页面的头部模块 var header = new renderModel({     param: {             bid: 10038,                     name: 'a'                         }}); 或者 var bid,name;// ...var header = new renderModel({     param: function(){             return {             bid: bid,             name: name         };     } }); 标签:Soda
SodaRender 是轻量级的模板引擎。当前只支持 IE9,Chrome 和移动端的所有浏览器。SodaRender语法源自于AngularJS,前端框架Abstract.js已经内置SodaRender引擎,SodaRender引擎应用于腾讯手机QQ中,已被证实是一款优秀的模板引擎用法示例:Exampleshtml>head>title>SodaRender Examapletitle>head>div>ul id="targetUl">script type="text/soda" id="dataList">li soda-repeat="item in list" soda-if="item.show">{{item.name}}li>script>ul>div>html>var templateStr = document.getElementById("dataList")[removed];var target = document.getElementById("targetUl"); var data = {  list: [  {name: "A"},        {name: "B"}     ] };  var result = sodaRender(templateStr, data);target.appendChild(result);APIs Of SodaRendersodaRenderUSING :   SodaRender(String templateStr, Object data)DESCR :   Using templateStr with data to render templateRETURN: DOM Fragmentthe DOM Frament Object has a method innerHTML which will return the rendered HTML code.Meanwhile, you can use it like a common DOM Node, such as appending it to your target node.sodaFilterUSING :   SodaFilter(String filterName, Function func(input, args...))DESCR :   Defining Filters, so you can use filters in templateTemplate Language (AngularJs Template Like)More directives have been added{{}}out put expressions{{item.name 1}}soda-repeatsoda-repeat="item in array"soda-repeat="item in array track by index"soda-repeat="(key, value) in object"USING :   SodaRender(String templateStr, Object data)DESCR :   Using templateStr with data to render templatesoda-ifsoda-if="item.show"soda-classsoda-class="currItem === 'list1' ? 'active' : ''"soda-srcsoda-src="hello{{index}}.png"soda-bind-htmlsoda-bind-html="click"soda-stylesoda-style="style"soda-*soda-rx="{{rx}}%"filters{{input|filte1:args1:args2...|filter2:args...}} how to define filters? Just using sodaFilter Method as methioned above. Here is an example.sodaFilter('shortTitle', function(input, length){ return (input || '').substr(0, length); });Template belowdiv soda-repeat="item in list">div class="title">{{item.title|shortTitle:10}}div>div> 标签:SodaRender
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值