js 代码添加if就不能执行了

新人,代码有什么不规范的还请提示一下
还有为什么结果是先弹窗再执行函数

<!DOCTYPE html>
<HTML>
<head>

<script>
window.onload = function () {
    basecss();
    alert("yes");

    }

    function basecss(){
        //slier樣式
        var slider = document.getElementById("slider");
        slider.style.padding="0px";
        slider.style.height="480px";
        slider.style.width="1024px";
        slider.style.margin="auto";
        slider.style.marginTop="70px";
        slider.style.backgroundColor="red";
    var img =document.getElementsByClassName("sliderimg");
    //slierimg样式
    for(var i=0;i<5;i++){
        img[i].style.width="200px";
        img[i].style.height="350px";
        img[i].style.backgroundColor="blue";
        img[i].style.padding="0px"; 
        img[i].style.position="relative";
        img[i].style.float= "left";
        img[i].style.top= "60px";
        img[i].style.left= "12px";
        if( i=0 ||  i =4){
        img[i].style.transform="scale(0.75,0.75);"
        }
        }

    }

</script>
</head>
<body>
<img id = "test"> - - --- -</img>
    <div id="slider">
        <img  class="sliderimg">
        <img class="sliderimg">
        <img class="sliderimg">
        <img class="sliderimg">
        <img class="sliderimg">
</div>
</body>
</HTML>

js是在页面加载的时候就执行的 而代码的执行的是异步的 由浏览器解析 加载完成就解析完成 如果想要一边加载一边解析 就需要用到闭包

没看见你的if在哪里

if( i==0 || i ==4){ img[i].style.transform="scale(0.75,0.75);"}
要用“==”判断值~!!

if( i=0 || i =4) 改成 if( i==0 || i ==4)

判断是两个==,一个=是赋值

if(i == 0 || i == 4),将if中的条件=换成==!

判断时候一般用== 必要时候===

if条件判断要用'=='
if( i==0 || i ==4){img[i].style.transform="scale(0.75,0.75);"}

程序执行需要时间啊,if里面错了

if条件判断要用'==' ‘=’就给他重新赋值了

用==不要用= ,for循环都死循环了

if(i == 0 || i == 4),将if中的条件=换成==!

if中用 ‘===’ 判断。
一个‘=’ 表示赋值;

if( i=0 || i =4) 改成 if( i==0 || i ==4)

判断是两个==,一个=是赋值,然后将if( i=0 || i =4) 改成 if( i==0 || i ==4)即可

判断要 == 啊 , = 是赋值

需要用==,或者===判断,在页面初始化的时候,会把函数初始化,执行alert

if条件判断要用'==' ‘=’就给他重新赋值了

if如果不行的话,就用switch

"=="表示逻辑相等,“=”表示赋值

等于是赋值,双等于根据值等于,三等于是数据类型以及值都等于

if里面的换双等==

程序执行需要时间
if( i==0 || i ==4){img[i].style.transform="scale(0.75,0.75);"}

用火狐、谷歌浏览器的控件运行一下,错误全都显示出来了。。

老哥,判断是==啊双等号,你的=单等号了

一个=是赋值,两个==是值相等,三个===是类型与值都相等

请区分=与==,一个是赋值,一个是条件相等判断符号。

if中用==而不是=,这个问题大家都说了,我就不赘述了。。。
至于弹窗顺序,alert是会阻塞程序的,
如果你想先执行前面的方法再执行弹窗,可以加个setTimeout,如下:
window.onload = function () {
basecss();
setTimeout(function(){
alert("yes");

},1000);
}

  if( i==0 ||  i ==4){
        img[i].style.transform="scale(0.75,0.75);"
        }

执行顺序并没有问题,只是js是单线程,页面还没有渲染出现了弹出,阻塞了渲染,给你一种执行顺序不对的错觉。